/branches/v3/impl/src/doc/BacoV32016/processos/QueriesQuestionarios.txt |
---|
New file |
0,0 → 1,0 |
select tr.nomeDocente,avg((r6+r7+r8+r9+r10+r11+r12)/7.0) as media,avg((timeTakenR6+timeTakenR7+timeTakenR8+timeTakenR9+timeTakenR10+timeTakenR11+timeTakenR12)/7.0) as tempo from questionario_resposta q join questionario_resposta_requisitada qr on qr.resposta = q.id join questionario_peda_aluno_requisitado ar on ar.respostaRequisitada = qr.id join questionario_peda_tipologia_requisitada tr on tr.id = ar.tipologia_requisitada group by tr.cdDocente order by media; |
/branches/v3/impl/src/web/user/home/teacherPae.jsp |
---|
39,7 → 39,7 |
</div> |
<div class="col-md-4 col-sm-12 col-xs-12"> |
<baco:hasRole role="admin,all,questionarios.gerais,questionarios.admin,pedagogicCouncil.president"> |
<baco:hasRole role="admin,all,questionarios.gerais,questionarios.admin,pedagogicCouncil.president,administrativeCouncil.director"> |
<jsp:include page="panels/questionarios.jsp"/> |
</baco:hasRole> |
<jsp:include page="panels/emailSet.jsp"/> |
/branches/v3/impl/src/web/user/questionarios/questionariosSee.jsp |
---|
29,9 → 29,11 |
%> |
<baco:hasRole role="admin,all,questionarios.gerais,questionarios.admin,pedagogicCouncil.president,administrativeCouncil.director"> |
<html:link styleClass="btn btn-default pull-right" action="/user/startQuestionariosPaeMessagePedagogico.do?&formDescription=${desc}&targetDispatch=sendEmailQuestionariosProcessing"> |
<span class="glyphicon glyphicon-envelope"> </span> Enviar Mensagem A Todos Os Inquiridos |
</html:link> |
</baco:hasRole> |
<a class="btn btn-default" href="#" data-toggle="modal" data-target="#modalHelpQuestionario"> |
<span class="glyphicon glyphicon-question-sign"></span> Ajuda sobre Processo dos Questionários |
</a> |
/branches/v3/impl/src/web/user/questionarios/pedagogicoEstudante/questionariosDocenteAbertos.jsp |
---|
1,9 → 1,12 |
<%@ page import="jomm.dao.impl.AbstractDao" %> |
<%@ page import="org.hibernate.Query" %> |
<%@ page import="pt.estgp.estgweb.domain.Questionario" %> |
<%@ page import="pt.estgp.estgweb.domain.QuestionarioPedagogicoCursoAfeto" %> |
<%@ page import="pt.estgp.estgweb.domain.QuestionarioPedagogicoTipologiaRequisitada" %> |
<%@ page import="pt.ipportalegre.siges.web.services.Aluno" %> |
<%@ page import="java.util.ArrayList" %> |
<%@ page import="java.util.HashMap" %> |
<%@ page import="java.util.List" %> |
<%@ page import="pt.estgp.estgweb.domain.*" %> |
<%@ page contentType="text/html;charset=UTF-8" language="java" %> |
<jsp:useBean id="UserSession" type="pt.estgp.estgweb.domain.UserSessionImpl" scope="request"/> |
<% |
99,6 → 102,7 |
if(tipologiaRequisitada.getAlunosRequisitados().size() > 0) |
{ |
%> |
<div class="list-group-item clearfix" > |
<div class="col-sm-8"> |
128,6 → 132,16 |
<label class="label label-pill label-<%=percentageColor%>" style="font-size: 1em"><%=respondidos == null ? 0 : ((Long)respondidos)%></label> |
/ |
<label class="label label-pill label-info" style="font-size: 1em"><%=tipologiaRequisitada.getAlunosRequisitados().size()%></label> |
<% |
if(UserSession.getUser().isSuperuser() && request.getParameter("super")!=null) |
{ |
%> |
<a href="#" class="btn btn-default" data-href="<%=request.getContextPath()%>/user/questionarios/pedagogicoEstudante/unidadeAlunosNaoRespondidos.jsp?id=<%=tipologiaRequisitada.getId()%>" data-title="Alunos sem resposta (<%=tipologiaRequisitada.getUnidadeAfeta().getNome()%>) <%=cursoAfeto.getNome()%> da <%=cursoAfeto.getNomeInstituicao()%> )" data-toggle="modal" data-target="#modalAjaxRequest"> |
S/R |
</a> |
<% |
} |
%> |
</div> |
<div class="col-sm-2"> |
<div class="progress" > |
/branches/v3/impl/src/web/user/questionarios/pedagogicoEstudante/questionarioDashBoard.jsp |
---|
70,12 → 70,14 |
String descEncoded = URLEncoder.encode(questionario.getDescription(),"ISO-8859-1"); |
request.setAttribute("descEncoded",descEncoded); |
%> |
<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 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> |
<a href="<%=request.getContextPath()%>/user/questionariosPaeMessagePedagogico.do"/> |
</div> |
<div class="col-sm-12"> |
<table class="tablesorter-blue"> |
119,11 → 121,12 |
<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></td> |
<td><%=questionarioStatsVars.alunosDeUsadas%></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> |
146,8 → 149,8 |
</div> |
</div> |
</td> |
<td><label class="label label-<%=percentageColor%>" style="font-size: 1em"><%=questionarioStatsVars.respostasObtidas%></label></td> |
<td><label class="label label-info" style="font-size: 1em"><%=questionarioStatsVars.respostasRequisitadas%></label></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> |
165,7 → 168,10 |
<th>% Respostas</th> |
<th>Respostas</th> |
<th>Total</th> |
<th></th> |
<baco:hasRole role="admin,all,questionarios.gerais,questionarios.admin,pedagogicCouncil.president,administrativeCouncil.director"> |
<th></th> |
</baco:hasRole> |
</thead> |
<tbody> |
<% |
190,8 → 196,8 |
<td><%=cursoAfeto.getCodigoCurso()%></td> |
<td><%=cursoAfeto.getNome()%></td> |
<td> |
<a 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()%> |
<a class="btn btn-default" 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> |
212,12 → 218,13 |
<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></td> |
<td><label class="label label-info" style="font-size: 1em"><%=alunosTotalCurso%></label></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())))); |
235,11 → 242,14 |
<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></td> |
<td><label class="label label-info" style="font-size: 1em"><%=cursoAfeto.getStatRespostasRequisitadas()%></label></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"); |
249,6 → 259,7 |
<span class="glyphicon glyphicon-envelope"> </span> |
</html:link> |
</td> |
</baco:hasRole> |
</tr> |
<% |
} |
/branches/v3/impl/src/web/user/questionarios/pedagogicoEstudante/unidadeAlunosNaoRespondidos.jsp |
---|
New file |
0,0 → 1,68 |
<%@ page import="jomm.dao.impl.AbstractDao" %> |
<%@ page import="org.hibernate.Query" %> |
<%@ page import="pt.estgp.estgweb.domain.QuestionarioPedagogicoTipologiaRequisitada" %> |
<%@ page import="pt.estgp.estgweb.domain.Student" %> |
<%@ page import="pt.ipportalegre.siges.web.services.Aluno" %> |
<%@ page import="java.util.List" %> |
<%@ page import="pt.estgp.estgweb.domain.QuestionarioPedagogicoAlunoRequisitado" %> |
<%@ page contentType="text/html;charset=UTF-8" language="java" %> |
<jsp:useBean id="UserSession" type="pt.estgp.estgweb.domain.UserSessionImpl" scope="request"/> |
<% |
if(UserSession.getUser().isSuperuser()) |
{ |
String id = request.getParameter("id"); |
AbstractDao.getCurrentSession().beginTransaction(); |
Query qNaoResponderam = AbstractDao.getCurrentSession().createQuery("" + |
"select a from t in class " + QuestionarioPedagogicoTipologiaRequisitada.class.getName() + " " + |
" join t.alunosRequisitados a " + |
" join a.respostaRequisitada rR " + |
" where t.id = :id and rR.resposta is null group by a.id " |
); |
qNaoResponderam.setLong("id",Long.parseLong(id)); |
List<QuestionarioPedagogicoAlunoRequisitado> alunosSemResposta = qNaoResponderam.list(); |
if(alunosSemResposta.size() == 0) |
{ |
%> |
<h3>Todos os Alunos Responderam</h3> |
<% |
} |
else |
{ |
%> |
<h3><%=alunosSemResposta.size()%> Alunos sem resposta</h3> |
<table class="tablesorterfiltered"> |
<thead> |
<tr> |
<th>Número</th> |
<th>Nome</th> |
<th>Email</th> |
<th>Telemóvel</th> |
<th>Turma</th> |
</tr> |
</thead> |
<tbody> |
<% |
for(QuestionarioPedagogicoAlunoRequisitado aSemResposta: alunosSemResposta) |
{ |
%> |
<tr> |
<td><%=aSemResposta.getAluno().getSigesCode()%></td> |
<td><%=aSemResposta.getAluno().getName()%></td> |
<td><%=aSemResposta.getAluno().getEmail()%></td> |
<td><%=aSemResposta.getAluno().getPhonenumber()%></td> |
<td><%=aSemResposta.getTipologiaRequisitada().getCdTurma()%></td> |
</tr> |
<% |
} |
} |
AbstractDao.getCurrentSession().getTransaction().commit(); |
%> |
</tbody> |
</table> |
<% |
} |
%> |
/branches/v3/impl/src/web/user/questionarios/pedagogicoEstudante/results/fusionCharts.jsp |
---|
New file |
0,0 → 1,182 |
<%@ page import="jomm.dao.impl.AbstractDao" %> |
<%@ 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> |
<head> |
<title></title> |
<script type="text/javascript" src="<%=request.getContextPath()%>/js/charts/fusioncharts-suite-xt/js/fusioncharts.js"></script> |
<script type="text/javascript" src="<%=request.getContextPath()%>/js/charts/fusioncharts-suite-xt/js/fusioncharts.charts.js"></script> |
<script type="text/javascript" src="<%=request.getContextPath()%>/js/charts/fusioncharts-suite-xt/js/fusioncharts.powercharts.js"></script> |
<script type="text/javascript" src="<%=request.getContextPath()%>/js/charts/fusioncharts-suite-xt/js/fusioncharts.gantt.js"></script> |
<script type="text/javascript" src="<%=request.getContextPath()%>/js/charts/fusioncharts-suite-xt/js/fusioncharts.maps.js"></script> |
<script type="text/javascript" src="<%=request.getContextPath()%>/js/charts/fusioncharts-suite-xt/js/fusioncharts.widgets.js"></script> |
<script type="text/javascript" src="<%=request.getContextPath()%>/js/charts/fusioncharts-suite-xt/js/themes/fusioncharts.theme.fint.js"></script> |
<script> |
<% |
AbstractDao.getCurrentSession().beginTransaction(); |
List<Object[]> results = AbstractDao.getCurrentSession().createSQLQuery("select tr.nomeDocente,avg((r6+r7+r8+r9+r10+r11+r12)/7.0) as media,avg((timeTakenR6+timeTakenR7+timeTakenR8+timeTakenR9+timeTakenR10+timeTakenR11+timeTakenR12)/7.0) as tempo from questionario_resposta q join questionario_resposta_requisitada qr on qr.resposta = q.id join questionario_peda_aluno_requisitado ar on ar.respostaRequisitada = qr.id join questionario_peda_tipologia_requisitada tr on tr.id = ar.tipologia_requisitada " + |
" group by tr.cdDocente order by media desc;").list(); |
float maxMedia = 1; |
float maxTempo = 0; |
for(Object[] result: results) |
{ |
float tempo = Float.parseFloat(""+result[2]); |
if(tempo > maxTempo) |
maxTempo = tempo; |
} |
maxTempo = 1000; |
%> |
FusionCharts.ready(function(){ |
var revenueChart = new FusionCharts( |
{ |
"type": "msbar2d", |
"renderAt": "chartContainer", |
"width": "600", |
"height": "4000", |
"dataFormat": "json", |
"dataSource": { |
"chart": { |
"caption": "Split of Sales by Product Category", |
"subCaption": "In top 5 stores last month", |
"yAxisName": "Médias (Tempo Maximo = <%=maxTempo%>, Média Maxima: 5)", |
"numberPrefix": "Pontos", |
"paletteColors": "#0075c2,#1aaf5d", |
"bgColor": "#ffffff", |
"showBorder": "0", |
"showHoverEffect": "1", |
"showCanvasBorder": "0", |
"usePlotGradientColor": "0", |
"plotBorderAlpha": "10", |
"yAxisMaxValue": "5", |
"legendBorderAlpha": "0", |
"legendShadow": "0", |
"placevaluesInside": "1", |
"valueFontColor": "#ffffff", |
"showXAxisLine": "1", |
"xAxisLineColor": "#999999", |
"divlineColor": "#999999", |
"divLineDashed": "1", |
"showAlternateVGridColor": "0", |
"subcaptionFontBold": "0", |
"subcaptionFontSize": "14" |
}, |
"categories": [ |
{ |
"category": [ |
<% |
String sep = ""; |
int i = 1; |
for(Object[] result: results) |
{ |
%> |
<%=sep%> |
{ |
"label": "<%=i + "º -" + result[0]%>" |
} |
<% |
sep = ","; |
i++; |
} |
%> |
] |
} |
], |
"dataset": [ |
{ |
"seriesname": "Classificação", |
"data": [ |
<% |
sep = ""; |
for(Object[] result: results) |
{ |
float media = Float.parseFloat(""+result[1]); |
%> |
<%=sep%> |
{ |
"value": "<%=media / maxMedia%>" |
} |
<% |
sep = ","; |
} |
%> |
] |
} /*, |
{ |
"seriesname": "Current Year", |
"data": [ |
<% |
sep = ""; |
for(Object[] result: results) |
{ |
float tempo = Float.parseFloat(""+result[2]); |
%> |
<%=sep%> |
{ |
"value": "<%=tempo/maxTempo%>" |
} |
<% |
sep = ","; |
} |
%> |
] |
}*/ |
], |
"trendlines": [ |
{ |
"line": [ |
{ |
"startvalue": "12250", |
"color": "#0075c2", |
"displayvalue": "Previous{br}Average", |
"valueOnRight": "1", |
"thickness": "1", |
"showBelow": "1", |
"tooltext": "Previous year quarterly target : $13.5K" |
}, |
{ |
"startvalue": "25950", |
"color": "#1aaf5d", |
"displayvalue": "Current{br}Average", |
"valueOnRight": "1", |
"thickness": "1", |
"showBelow": "1", |
"tooltext": "Current year quarterly target : $23K" |
} |
] |
} |
] |
} |
} |
); |
revenueChart.render(); |
}) |
<% |
AbstractDao.getCurrentSession().getTransaction().commit(); |
%> |
</script> |
</head> |
<body> |
<h1>Posição dos Docentes Atual</h1> |
<div id="chartContainer">FusionCharts XT will load here!</div> |
</body> |
</html> |
/branches/v3/impl/src/web/user/questionarios/pedagogicoEstudante/questionarioCourseDashBoard.jsp |
---|
73,7 → 73,9 |
<th>Alunos com Respos. %</th> |
<th>Alunos com Respos.</th> |
<th>Alunos</th> |
<baco:hasRole role="admin,all,questionarios.gerais,questionarios.admin,pedagogicCouncil.president,administrativeCouncil.director"> |
<th></th> |
</baco:hasRole> |
</thead> |
<tbody> |
<% |
107,12 → 109,14 |
<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"><%=tipologia[7]%></label></td> |
<td><label class="label label-info" style="font-size: 1em"><%=tipologia[8]%></label></td> |
<td><label class="label label-<%=percentageColor%>" style="font-size: 1em"><%=tipologia[7]%></label> <span class="icon icon-user"> </span></td> |
<td><label class="label label-primary" style="font-size: 1em"><%=tipologia[8]%></label> <span class="icon icon-users"> </span></td> |
<baco:hasRole role="admin,all,questionarios.gerais,questionarios.admin,pedagogicCouncil.president,administrativeCouncil.director"> |
<td> |
<% |
Long unidadeId = (Long) tipologia[9]; |
126,6 → 130,7 |
<span class="glyphicon glyphicon-envelope"> </span> |
</html:link> |
</td> |
</baco:hasRole> |
</tr> |
<% |
} |