package pt.estgp.estgweb.services.questionarios.pedagogico.reportprocessors;
import jomm.dao.impl.AbstractDao;
import jomm.utils.PdfUtils;
import org.apache.fop.apps.FOPException;
import org.apache.log4j.Logger;
import org.dom4j.DocumentException;
import org.hibernate.Query;
import pt.estgp.estgweb.Globals;
import pt.estgp.estgweb.domain.OlapStarFactQuestionarioAnswer;
import pt.estgp.estgweb.domain.User;
import pt.estgp.estgweb.domain.dao.DaoFactory;
import pt.estgp.estgweb.services.jobs.ServiceJob;
import pt.estgp.estgweb.services.logresults.ILogMessages;
import pt.estgp.estgweb.services.logresults.impl.DefaultLogMessages;
import pt.estgp.estgweb.services.questionarios.PedagogicoAlunosProcessor;
import pt.estgp.estgweb.services.questionarios.pedagogico.reportprocessors.reportsdomain.DocenteReport;
import pt.estgp.estgweb.services.questionarios.pedagogico.reportprocessors.reportsdomain.EntityEvaluated;
import pt.estgp.estgweb.services.questionarios.pedagogico.reportprocessors.reportsdomain.QuestionariosAlunosReport;
import pt.estgp.estgweb.services.questionarios.pedagogico.reportprocessors.queries.*;
import pt.estgp.estgweb.services.questionarios.pedagogico.reportprocessors.utils.*;
import pt.estgp.estgweb.utils.ConfigProperties;
import pt.estgp.estgweb.utils.DatesUtils;
import pt.estgp.estgweb.utils.Dom4jUtil;
import javax.xml.transform.TransformerException;
import javax.xml.transform.dom.DOMSource;
import java.awt.*;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.DecimalFormat;
import java.util.*;
import java.util.List;
/**
* Created by jorgemachado on 05/11/16.
*/
public class DocenteReportGenerator
extends ReportAlunosGenerator
{
private static final 1.5.0/docs/api/java/util/logging/Logger.html">Logger logger =
1.5.0/docs/api/java/util/logging/Logger.html">Logger.
getLogger(DocenteReportGenerator.
class);
public DocenteReportGenerator
(1.5.0/docs/api/java/lang/String.html">String anoLectivo,
1.5.0/docs/api/java/lang/String.html">String[] periodos,
1.5.0/docs/api/java/lang/String.html">String[] degrees
) {
super(anoLectivo, periodos, degrees
);
}
public static void main
(1.5.0/docs/api/java/lang/String.html">String[] args
) throws 1.5.0/docs/api/java/io/IOException.html">IOException, DocumentException,
1.5.0/docs/api/javax/xml/transform/TransformerException.html">TransformerException, FOPException
{
//String teacherCode = "44451";
//String teacherCode = "20122";
1.5.0/docs/api/java/lang/String.html">String teacherCode =
"20128";
1.5.0/docs/api/java/lang/String.html">String anoLectivo =
"201516";
//String[] periodos = new String[]{"S2","T3","T4","A"};
1.5.0/docs/api/java/lang/String.html">String[] periodos =
new 1.5.0/docs/api/java/lang/String.html">String[]{"S1"};
1.5.0/docs/api/java/lang/String.html">String[] degrees =
new 1.5.0/docs/api/java/lang/String.html">String[]{"L",
"M",
"T",
"E"};
new DocenteReportGenerator
(anoLectivo,periodos,degrees
).
processTeacher(teacherCode
);
//teacherCode = "20122";
//processTeacher(teacherCode,anoLectivo,periodos,degrees);
//teacherCode = "20051";
//processTeacher(teacherCode,anoLectivo,periodos,degrees);
//teacherCode = "66587";
//processTeacher(teacherCode,anoLectivo,periodos,degrees);
//teacherCode = "20114";
//processTeacher(teacherCode,anoLectivo,periodos,degrees);
}
public void processTeacher
(1.5.0/docs/api/java/lang/String.html">String teacherCode
) throws 1.5.0/docs/api/java/io/IOException.html">IOException, DocumentException,
1.5.0/docs/api/javax/xml/transform/TransformerException.html">TransformerException, FOPException
{
//todo ver se ha ocorrencias de respostas do docente neste ano se não houver devolver questionario com info de nao haver resultados para este docente
DocenteReport docenteReport = getDocenteReport
(teacherCode
);
if(docenteReport ==
null)
{
serviceLogInfo
(" Docente " + teacherCode +
" nao tem respostas nestas condições ");
return;
}
ChartBuilderUtil.
createChartTiposAlunos(docenteReport,
"tiposAlunosTmp");
ChartBuilderUtil.
createChartTaxaRespostas(docenteReport,
"taxaRespostasTmp");
ChartBuilderUtil.
createChartTaxaParticipacao(docenteReport,
"taxaParticipacaoTmp");
ChartBuilderUtil.
createChartUnidadesContribuicao(docenteReport,
"unidadesContribuicao");
//DocenteReport.RespostasChart respostasChart = ChartBuilderUtil.createChartRespostasPergunta("A sua pontualidade", new int[]{2, 4, 5, 3, 1}, "pontualidadeTmp");
//docenteReport.getRespostasCharts().add(respostasChart);
1.5.0/docs/api/java/lang/String.html">String path = generatePdfReport
(docenteReport
);
}
private 1.5.0/docs/api/java/lang/String.html">String generatePdfReport
(DocenteReport docenteReport
) throws DocumentException,
1.5.0/docs/api/javax/xml/transform/TransformerException.html">TransformerException,
1.5.0/docs/api/java/io/IOException.html">IOException, FOPException
{
1.5.0/docs/api/java/lang/String.html">String path = Globals.
TMP_DIR +
1.5.0/docs/api/java/io/File.html">File.
separator +
"reportDocente" + docenteReport.
getNumeroDocente() +
".pdf";
1.5.0/docs/api/java/io/FileOutputStream.html">FileOutputStream out =
new 1.5.0/docs/api/java/io/FileOutputStream.html">FileOutputStream(path
);
Map
<String,Object
> params =
new HashMap
<String,Object
>();
params.
put("site", Globals.
SITE_URL);
params.
put("updateDate", pt.
estgp.
estgweb.
web.
utils.
DatesUtils.
getStringFromDate(new 5+0%2Fdocs%2Fapi+Date">Date() ));
org.
w3c.
dom.
5+0%2Fdocs%2Fapi+Document">Document dom2 = docenteReport.
serialize();
Dom4jUtil.
writeSout(dom2
);
PdfUtils.
setAuthority("Relatório de Avaliação Pedagógica - Relatório Docente - " +
docenteReport.
getNomeDocente() +
" (" + docenteReport.
getNumeroDocente() +
" ) " +
"- Ano letivo " + docenteReport.
getAnoLectivo() +
" - Periodos " + docenteReport.
getSemestres().
toString() +
"" +
" Tipos de Curso - " + docenteReport.
getDegrees().
toString(),
docenteReport.
getNomeDocente(),
"Avaliação Pedagógica Docentes, Inqueritos aos Alunos");
PdfUtils.
createPdfFromXml(new 1.5.0/docs/api/javax/xml/transform/dom/DOMSource.html">DOMSource(dom2
),
"pt/estgp/estgweb/services/questionarios/pedagogico/reportprocessors/xsl/docenteReport.fo.xsl", out, params
);
out.
flush();
out.
close();
return path
;
}
private DocenteReport getDocenteReport
(1.5.0/docs/api/java/lang/String.html">String teacherCode
)
{
AbstractDao.
getCurrentSession().
beginTransaction();
User u = DaoFactory.
getUserDaoImpl().
loadBySigesCode(1.5.0/docs/api/java/lang/Integer.html">Integer.
parseInt(teacherCode
));
DocenteReport docenteReport =
new DocenteReport
();
docenteReport.
setNomeDocente(u.
getName());
docenteReport.
setNumeroDocente(teacherCode
);
docenteReport.
setAnoLectivo(DatesUtils.
getImportYearFormatted(anoLectivo
));
docenteReport.
setSemestres(ReportUtils.
getFormatedSemestres(periodos
));
docenteReport.
setDegrees(ReportUtils.
getFormatedDegrees(degrees
));
AlunosQueryDao.
countAlunosQueResponderamAoDocente(teacherCode, anoLectivo, docenteReport, periodos, degrees
);
/*if(docenteReport.getInquiridosTotal() == 0 || docenteReport.getAlunosComResposta() == 0)
{
return null;
}*/
QuestionariosQueryDao.
countQuestionariosRespostasAoDocente(teacherCode, anoLectivo, docenteReport, periodos, degrees
);
AlunosQueryDao.
countTiposAlunosComRespostasAoDocente(teacherCode, anoLectivo, docenteReport, periodos, degrees
);
AlunosQueryDao.
countIdadesAlunosComRespostasAoDocente(teacherCode, anoLectivo, docenteReport, periodos, degrees
);
//TABELAS
QuestionariosQueryDao.
createDataTableIdades(docenteReport,
"Alunos");
QuestionariosQueryDao.
createDataTableLocalidadesAoDocente(docenteReport, teacherCode, anoLectivo, periodos, degrees,
"Alunos");
UnidadesQueryDao.
createTableTaxaRespostaUnidadeAoDocente(docenteReport, teacherCode, anoLectivo, periodos, degrees
);
List
<String
> codigosCurso = QueryDaoUtils.
getCodigosCursoDocente(teacherCode, anoLectivo, periodos, degrees
);
List
<String
> codigosEscola = QueryDaoUtils.
getCodigosEscolaDocente(teacherCode, anoLectivo, periodos, degrees
);
docenteReport.
setDocentesNosCursos((int) QueryDaoUtils.
countDocentesNosCursos(codigosCurso, anoLectivo, periodos, degrees
));
docenteReport.
setDocentesNasEscolas((int) QueryDaoUtils.
countDocentesNasEscolas(codigosEscola, anoLectivo, periodos, degrees
));
docenteReport.
setUnidadesNosCursos((int) QueryDaoUtils.
countUnidadesNosCursos(codigosCurso, anoLectivo, periodos, degrees
));
docenteReport.
setUnidadesNasEscolas((int) QueryDaoUtils.
countUnidadesNasEscolas(codigosEscola, anoLectivo, periodos, degrees
));
super.
criarGraficosRespostasAgregadas(
new 1.5.0/docs/api/java/lang/String.html">String[]{teacherCode
},
EntityEvaluated.
DOCENTE,
anoLectivo,
docenteReport,
codigosCurso,
codigosEscola,
0,
docenteReport.
getRespostasAgregadasGrupoDocente().
getRespostasAgregadasChartTable(),
docenteReport.
getRespostasAgregadasGrupoDocente(),
PerguntasGrupoQueryDao.
GRUPO_DOCENTE_CODE_PERGUNTAS,
null,
periodos,degrees,
true);
criarGraficosRespostasAgregadas
(
new 1.5.0/docs/api/java/lang/String.html">String[]{teacherCode
},
EntityEvaluated.
DOCENTE,
anoLectivo,
docenteReport,
codigosCurso,
codigosEscola,
0,
docenteReport.
getRespostasAgregadasGrupoDocente().
getRespostasAgregadasChartTable(),
docenteReport.
getRespostasAgregadasGrupoDocente(),
PerguntasGrupoQueryDao.
GRUPO_DOCENTE_CODE_PERGUNTAS,
null,
periodos,degrees,
true);
criarGraficosRespostasAgregadas
(
new 1.5.0/docs/api/java/lang/String.html">String[]{teacherCode
},
EntityEvaluated.
DOCENTE,
anoLectivo,
docenteReport,
codigosCurso,
codigosEscola,
2000,
docenteReport.
getRespostasAgregadasGrupoDocente().
getRespostasAgregadasChartTable2Secs(),
docenteReport.
getRespostasAgregadasGrupoDocente(),
PerguntasGrupoQueryDao.
GRUPO_DOCENTE_CODE_PERGUNTAS,
null,
periodos,degrees,
false);
criarGraficosRespostasAgregadas
(
new 1.5.0/docs/api/java/lang/String.html">String[]{teacherCode
},
EntityEvaluated.
DOCENTE,
anoLectivo,
docenteReport,
codigosCurso,
codigosEscola,
0,
docenteReport.
getRespostasAgregadasGrupoUnidade().
getRespostasAgregadasChartTable(),
docenteReport.
getRespostasAgregadasGrupoUnidade(),
PerguntasGrupoQueryDao.
GRUPO_UNIDADE_CODE_PERGUNTAS,
null,
periodos,degrees,
true);
criarGraficosRespostasAgregadas
(
new 1.5.0/docs/api/java/lang/String.html">String[]{teacherCode
},
EntityEvaluated.
DOCENTE,
anoLectivo,
docenteReport,
codigosCurso,
codigosEscola,
2000,
docenteReport.
getRespostasAgregadasGrupoUnidade().
getRespostasAgregadasChartTable2Secs(),
docenteReport.
getRespostasAgregadasGrupoUnidade(),
PerguntasGrupoQueryDao.
GRUPO_UNIDADE_CODE_PERGUNTAS,
null,
periodos,degrees,
false);
criarGraficosRespostasAgregadas
(
new 1.5.0/docs/api/java/lang/String.html">String[]{teacherCode
},
EntityEvaluated.
DOCENTE,
anoLectivo,
docenteReport,
codigosCurso,
codigosEscola,
0,
docenteReport.
getRespostasAgregadasGrupoDrelDocenteAluno().
getRespostasAgregadasChartTable(),
docenteReport.
getRespostasAgregadasGrupoDrelDocenteAluno(),
PerguntasGrupoQueryDao.
GRUPO_DOCENTE_CODE_PERGUNTAS,
PerguntasGrupoQueryDao.
GRUPO_DOCENTE_REL_ALUNO_CODE_PERGUNTAS,periodos,degrees,
true);
criarGraficosRespostasAgregadas
(
new 1.5.0/docs/api/java/lang/String.html">String[]{teacherCode
},
EntityEvaluated.
DOCENTE,
anoLectivo,
docenteReport,
codigosCurso,
codigosEscola,
0,
docenteReport.
getRespostasAgregadasGrupoDdocenteProf().
getRespostasAgregadasChartTable(),
docenteReport.
getRespostasAgregadasGrupoDdocenteProf(),
PerguntasGrupoQueryDao.
GRUPO_DOCENTE_CODE_PERGUNTAS,
PerguntasGrupoQueryDao.
GRUPO_DOCENTE_PROFISSIONALISMO_DOCENTE_CODE_PERGUNTAS,periodos,degrees,
true);
UnidadesQueryDao.
criarTabelasCadeirasDocente(teacherCode,
anoLectivo,
docenteReport,
0, periodos, degrees, docenteReport.
getUnidadesStats());
criaExtremeCharts
(docenteReport
);
criarProgressoesCharts
(docenteReport,codigosCurso,codigosEscola,degrees,periodos
);
criarAnaliseConjuntaDeUnidades
(docenteReport
);
criarAnaliseDimensionalGeral
(docenteReport
);
criarAvaliacaoGuiaoDesempenho
(docenteReport
);
AbstractDao.
getCurrentSession().
getTransaction().
commit();
return docenteReport
;
}
private void criarAnaliseDimensionalGeral
(DocenteReport report
)
{
1.5.0/docs/api/java/lang/String.html">String grupoRelAlunopropertyIndex = ConfigProperties.
getProperty("questionario.group.inverse." + PerguntasGrupoQueryDao.
GRUPO_DOCENTE_REL_ALUNO_CODE_PERGUNTAS);
1.5.0/docs/api/java/lang/String.html">String grupoRelAlunoLabel = ConfigProperties.
getProperty("questionario.group" + grupoRelAlunopropertyIndex +
".title");
1.5.0/docs/api/java/lang/String.html">String grupoProfDocentepropertyIndex = ConfigProperties.
getProperty("questionario.group.inverse." + PerguntasGrupoQueryDao.
GRUPO_DOCENTE_PROFISSIONALISMO_DOCENTE_CODE_PERGUNTAS);
1.5.0/docs/api/java/lang/String.html">String grupoProfDocenteLabel = ConfigProperties.
getProperty("questionario.group" + grupoProfDocentepropertyIndex +
".title");
double valores
[][] =
new double[][]
{
new double[]{
report.
getRespostasAgregadasGrupoDrelDocenteAluno().
getMediasGrupo().
getAvaliacaoMedia(),
report.
getRespostasAgregadasGrupoDrelDocenteAluno().
getMediasGrupo().
getMediaGlobalNosCursos() },
new double[]{
report.
getRespostasAgregadasGrupoDrelDocenteAluno().
getMediasGrupo().
getAvaliacaoMedia(),
report.
getRespostasAgregadasGrupoDdocenteProf().
getMediasGrupo().
getMediaGlobalNosCursos() }
};
1.5.0/docs/api/java/text/DecimalFormat.html">DecimalFormat df =
new 1.5.0/docs/api/java/text/DecimalFormat.html">DecimalFormat("#.##");
DataTable tabelaDimensoesGeral =
new DataTable
();
DataTable.
Row header = tabelaDimensoesGeral.
addRowHeader();
header.
addColTextCenter("Dimensão");
header.
addColTextCenter("Média");
header.
addColTextCenter("Desvio");
header.
addColTextCenter("Cursos");
header.
addColTextCenter("Escolas");
DataTable.
Row rowRelAluno = tabelaDimensoesGeral.
addRowNormal();
rowRelAluno.
addColTextCenter(grupoRelAlunoLabel
);
rowRelAluno.
addColPercentageDefinedCenter(
df.
format(report.
getRespostasAgregadasGrupoDrelDocenteAluno().
getMediasGrupo().
getAvaliacaoMedia()),
report.
getRespostasAgregadasGrupoDrelDocenteAluno().
getMediasGrupo().
getPercentAvaliacaoMediaForTables(),
true);
rowRelAluno.
addColTextCenter(df.
format(report.
getRespostasAgregadasGrupoDrelDocenteAluno().
getMediasGrupo().
getDesvioPadrao()));
rowRelAluno.
addColPercentageDefinedCenter(
df.
format(report.
getRespostasAgregadasGrupoDrelDocenteAluno().
getMediasGrupo().
getMediaGlobalNosCursos()),
report.
getRespostasAgregadasGrupoDrelDocenteAluno().
getMediasGrupo().
getPercentMediaGlobalNosCursosForTables(),
true);
rowRelAluno.
addColPercentageDefinedCenter(
df.
format(report.
getRespostasAgregadasGrupoDrelDocenteAluno().
getMediasGrupo().
getMediaGlobalNasEscolas()),
report.
getRespostasAgregadasGrupoDrelDocenteAluno().
getMediasGrupo().
getPercentMediaGlobalNasEscolasForTables(),
true);
DataTable.
Row rowProfissionalismo = tabelaDimensoesGeral.
addRowNormal();
rowProfissionalismo.
addColTextCenter(grupoProfDocenteLabel
);
rowProfissionalismo.
addColPercentageDefinedCenter(
df.
format(report.
getRespostasAgregadasGrupoDdocenteProf().
getMediasGrupo().
getAvaliacaoMedia()),
report.
getRespostasAgregadasGrupoDdocenteProf().
getMediasGrupo().
getPercentAvaliacaoMediaForTables(),
true);
rowProfissionalismo.
addColTextCenter(df.
format(report.
getRespostasAgregadasGrupoDdocenteProf().
getMediasGrupo().
getDesvioPadrao()));
rowProfissionalismo.
addColPercentageDefinedCenter(
df.
format(report.
getRespostasAgregadasGrupoDdocenteProf().
getMediasGrupo().
getMediaGlobalNosCursos()),
report.
getRespostasAgregadasGrupoDdocenteProf().
getMediasGrupo().
getPercentMediaGlobalNosCursosForTables(),
true);
rowProfissionalismo.
addColPercentageDefinedCenter(
df.
format(report.
getRespostasAgregadasGrupoDdocenteProf().
getMediasGrupo().
getMediaGlobalNasEscolas()),
report.
getRespostasAgregadasGrupoDdocenteProf().
getMediasGrupo().
getPercentMediaGlobalNasEscolasForTables(),
true);
try {
1.5.0/docs/api/java/lang/String.html">String path = ChartBuilderUtil.
createBarChartBarsCategories(
new 1.5.0/docs/api/java/lang/String.html">String[]{"Docente",
"Curso"},
new 1.5.0/docs/api/java/lang/String.html">String[]{grupoRelAlunoLabel,grupoProfDocenteLabel
},
new 1.5.0/docs/api/java/awt/Color.html">Color[]{ChartBuilderUtil.
COLOR_SECTION_DIM_DARK,ChartBuilderUtil.
COLOR_SECTION_DIM},
new 1.5.0/docs/api/java/awt/Color.html">Color[]{1.5.0/docs/api/java/awt/Color.html">Color.
black,
1.5.0/docs/api/java/awt/Color.html">Color.
black},
valores,
0,
5,
"dimensoesGeral",300,40
);
report.
setDimensoesGeralChartAndTable(new ChartWithDataTable
("Dimensões Geral",
"", path, tabelaDimensoesGeral
));
} catch (1.5.0/docs/api/java/io/IOException.html">IOException e
)
{
e.
printStackTrace();
}
}
private void criarAnaliseConjuntaDeUnidades
(DocenteReport report
)
{
1.5.0/docs/api/java/lang/String.html">String grupoRelAlunopropertyIndex = ConfigProperties.
getProperty("questionario.group.inverse." + PerguntasGrupoQueryDao.
GRUPO_DOCENTE_REL_ALUNO_CODE_PERGUNTAS);
1.5.0/docs/api/java/lang/String.html">String grupoRelAlunoLabel = ConfigProperties.
getProperty("questionario.group" + grupoRelAlunopropertyIndex +
".title");
1.5.0/docs/api/java/lang/String.html">String grupoProfDocentepropertyIndex = ConfigProperties.
getProperty("questionario.group.inverse." + PerguntasGrupoQueryDao.
GRUPO_DOCENTE_PROFISSIONALISMO_DOCENTE_CODE_PERGUNTAS);
1.5.0/docs/api/java/lang/String.html">String grupoProfDocenteLabel = ConfigProperties.
getProperty("questionario.group" + grupoProfDocentepropertyIndex +
".title");
DataTable tabelaDocenteUnidade =
new DataTable
();
DataTable tabelaRelDocenteProfDocente =
new DataTable
();
try {
1.5.0/docs/api/java/lang/String.html">String docenteUnidadePath =
super.
criarChartETabelaMediaGruposPorUnidade(
400,
40,
report.
getUnidadesStats(),
PerguntasGrupoQueryDao.
GRUPO_DOCENTE_CODE_PERGUNTAS,
null,
PerguntasGrupoQueryDao.
GRUPO_UNIDADE_CODE_PERGUNTAS,
null,
tabelaDocenteUnidade,
"docenteUnidade",
new 1.5.0/docs/api/java/awt/Color.html">Color[]{ChartBuilderUtil.
COLOR_SECTION_BLUE_DARK, ChartBuilderUtil.
COLOR_SECTION_GREEN_DARK},
new 1.5.0/docs/api/java/awt/Color.html">Color[]{1.5.0/docs/api/java/awt/Color.html">Color.
black,
1.5.0/docs/api/java/awt/Color.html">Color.
black}
);
1.5.0/docs/api/java/lang/String.html">String relDocenteProfDocentePath = criarChartETabelaMediaGruposPorUnidade
(
400,
40,
report.
getUnidadesStats(),
PerguntasGrupoQueryDao.
GRUPO_DOCENTE_CODE_PERGUNTAS,
PerguntasGrupoQueryDao.
GRUPO_DOCENTE_REL_ALUNO_CODE_PERGUNTAS,
PerguntasGrupoQueryDao.
GRUPO_DOCENTE_CODE_PERGUNTAS,
PerguntasGrupoQueryDao.
GRUPO_DOCENTE_PROFISSIONALISMO_DOCENTE_CODE_PERGUNTAS,
tabelaRelDocenteProfDocente,
"relAlunoDocenteProfDocentePath",
new 1.5.0/docs/api/java/awt/Color.html">Color[]{ChartBuilderUtil.
COLOR_SECTION_DIM_DARK, ChartBuilderUtil.
COLOR_SECTION_DIM},
new 1.5.0/docs/api/java/awt/Color.html">Color[]{1.5.0/docs/api/java/awt/Color.html">Color.
black,
1.5.0/docs/api/java/awt/Color.html">Color.
black}
);
report.
setUnidadesAnalGrDocenteGrUnidadeChartAndTable(
new ChartWithDataTable
(
"Analise Conjunta de Unidades",
"Docente VS Unidade",
docenteUnidadePath,
tabelaDocenteUnidade
));
report.
setUnidadesAnalGrRelAlunoGrProfDoceChartAndTable(
new ChartWithDataTable
("Analise Conjunta de Unidades",
grupoRelAlunoLabel +
"VS" + grupoProfDocenteLabel,
relDocenteProfDocentePath,
tabelaRelDocenteProfDocente
));
} catch (1.5.0/docs/api/java/io/IOException.html">IOException e
) {
e.
printStackTrace();
}
}
private void criarAvaliacaoGuiaoDesempenho
(DocenteReport docenteReport
)
{
List
<UnidadeStats
> unidadeStatses = docenteReport.
getUnidadesStats();
DataTable dataTable =
new DataTable
();
DataTable.
Row rowHeader = dataTable.
addRowHeader();
rowHeader.
addColTextCenter("Cód. Unidade");
rowHeader.
addColTextCenter("Unidade Curricular").
setWidth("20%");
rowHeader.
addColTextCenter("Cód. Curso");
rowHeader.
addColTextCenter("Curso").
setWidth("20%");
rowHeader.
addColTextCenter("Ano");
rowHeader.
addColTextCenter("Periodo");
rowHeader.
addColTextCenter("resposta média (RM)");
rowHeader.
addColTextCenter("Número de inscritos");
rowHeader.
addColTextCenter("Número de respostas");
rowHeader.
addColTextCenter("Taxa de resposta (TR)");
rowHeader.
addColTextCenter("Taxa de resposta (RMxTR)");
1.5.0/docs/api/java/text/DecimalFormat.html">DecimalFormat df =
new 1.5.0/docs/api/java/text/DecimalFormat.html">DecimalFormat("#.######");
1.5.0/docs/api/java/util/Collections.html">Collections.
sort(unidadeStatses,
new Comparator
<UnidadeStats
>(){
@
1.5.0/docs/api/java/lang/Override.html">Override
public int compare
(UnidadeStats o1, UnidadeStats o2
)
{
int curso = o1.
getNomeCurso().
compareTo(o2.
getNomeCurso());
if(curso == 0
)
return o1.
getNomeUnidade().
compareTo(o2.
getNomeUnidade());
else return curso
;
}
});
double sumRMTR =
0;
double sumTR =
0;
for(UnidadeStats stats: unidadeStatses
)
{
double TR =
(((double)stats.
getRespostas()/
(double)stats.
getInscritos()));
double RM = stats.
getUnidadeStatsGrupoDocente().
getMediasGrupo().
getAvaliacaoMedia();
double RMTR = RM
* TR
;
sumRMTR += RMTR
;
sumTR += TR
;
DataTable.
Row rowUnit = dataTable.
addRowNormal();
rowUnit.
addColTextCenter(stats.
getCodigoUnidade());
rowUnit.
addColTextCenter(stats.
getNomeUnidade());
rowUnit.
addColTextCenter(stats.
getCodigoCurso());
rowUnit.
addColTextCenter(stats.
getNomeCurso());
rowUnit.
addColTextCenter(docenteReport.
getAnoLectivo());
rowUnit.
addColTextCenter(stats.
getSemestre());
rowUnit.
addColNumberRight(df.
format(RM
));
rowUnit.
addColNumberRight("" + stats.
getInscritos());
rowUnit.
addColNumberRight("" + stats.
getRespostas());
rowUnit.
addColNumberRight(df.
format(TR
));
rowUnit.
addColNumberRight(df.
format(RMTR
));
}
double media = sumRMTR/sumTR
;
DataTable.
Row rowFooter = dataTable.
addRowFooter();
DataTable.
Row.
Col soma = rowFooter.
addColTextRight("Somatório das Parcelas");
soma.
setColspan(9
);
soma.
setFontWeight("bold");
DataTable.
Row.
Col sumTRCol = rowFooter.
addColNumberRight(df.
format(sumTR
));
sumTRCol.
setFontWeight("bold");
DataTable.
Row.
Col sumRMTRCol = rowFooter.
addColNumberRight(df.
format(sumRMTR
));
sumRMTRCol.
setFontWeight("bold");
docenteReport.
setDocenteAvaliacaoDesempenhoTR(sumTR
);
docenteReport.
setDocenteAvaliacaoDesempenhoRMTR(sumRMTR
);
docenteReport.
setDocenteAvaliacaoDesempenhoMediaPeriodo(media
);
docenteReport.
setDocenteAvaliacaoDesempenhoTRPrint(df.
format(sumTR
));
docenteReport.
setDocenteAvaliacaoDesempenhoRMTRPrint(df.
format(sumRMTR
));
docenteReport.
setDocenteAvaliacaoDesempenhoMediaPeriodoPrint(df.
format(media
));
docenteReport.
setDocenteAvaliacaoDesempenhoTable(dataTable
);
}
private void criarProgressoesCharts
(DocenteReport docenteReport, List
<String
> codigosCursos, List
<String
> codigosEscolas,
1.5.0/docs/api/java/lang/String.html">String[] degrees,
1.5.0/docs/api/java/lang/String.html">String[] periodos
)
{
docenteReport.
progressaoAgregadasDocentesVsCurso = criarProgressoChartGrupo
(docenteReport, codigosCursos,PerguntasGrupoQueryDao.
GRUPO_DOCENTE_CODE_PERGUNTAS,
null,degrees,periodos
);
docenteReport.
progressaoAgregadasUnidadesVsCurso = criarProgressoChartGrupo
(docenteReport, codigosCursos,PerguntasGrupoQueryDao.
GRUPO_UNIDADE_CODE_PERGUNTAS,
null,degrees,periodos
);
docenteReport.
progressaoAgregadasDocentesDrelAlunoVsCurso = criarProgressoChartGrupo
(docenteReport, codigosCursos,PerguntasGrupoQueryDao.
GRUPO_DOCENTE_CODE_PERGUNTAS,PerguntasGrupoQueryDao.
GRUPO_DOCENTE_REL_ALUNO_CODE_PERGUNTAS,degrees,periodos
);
docenteReport.
progressaoAgregadasDocentesDprofDocenteVsCurso = criarProgressoChartGrupo
(docenteReport, codigosCursos,PerguntasGrupoQueryDao.
GRUPO_DOCENTE_CODE_PERGUNTAS,PerguntasGrupoQueryDao.
GRUPO_DOCENTE_PROFISSIONALISMO_DOCENTE_CODE_PERGUNTAS,degrees,periodos
);
}
private 1.5.0/docs/api/java/lang/String.html">String criarProgressoChartGrupo
(DocenteReport docenteReport, List
<String
> codigosCursos,
1.5.0/docs/api/java/lang/String.html">String grupo,
1.5.0/docs/api/java/lang/String.html">String subGrupo,
1.5.0/docs/api/java/lang/String.html">String[] degrees,
1.5.0/docs/api/java/lang/String.html">String[] periodos
) {
1.5.0/docs/api/java/lang/String.html">String degreesQuery = QueryDaoUtils.
createDegreesQuery(degrees,
"curso",
true);
1.5.0/docs/api/java/lang/String.html">String periodosQuery = QueryDaoUtils.
createPeriodosQuery(periodos,
"quest",
true);
//Media do Docente face ao curso Docente
1.5.0/docs/api/javax/management/Query.html">Query query = AbstractDao.
getCurrentSession().
createQuery("" +
"SELECT " +
"avg(fc.intResposta) as media, " +
"quest.generatedTime as date " +
"FROM " + OlapStarFactQuestionarioAnswer.
class.
getName() +
" fc " +
"JOIN fc.olapPergunta prgp " +
"JOIN fc.olapTipologia tipo " +
"JOIN fc.olapQuestionario quest " +
"JOIN fc.olapCurso curso " +
"JOIN fc.olapTimeLine timeLine " +
"where " +
"tipo.codigoSiges = :codigoSiges " +
"and timeLine.nome = '" + PedagogicoAlunosProcessor.
getHistoryDriveConstraintStatic() +
"' " +
(grupo
!=
null ? " and prgp.grupoCode = :grupoCode " :
"" ) +
(subGrupo
!=
null ? " and prgp.subGrupoCode = :subGrupoCode " :
"" ) +
degreesQuery +
periodosQuery +
" group by quest.generatedTime " +
"order by quest.generatedTime asc ");
if(grupo
!=
null)
query.
setString("grupoCode",grupo
);
if(subGrupo
!=
null)
query.
setString("subGrupoCode",subGrupo
);
query.
setString("codigoSiges",docenteReport.
getNumeroDocente());
List
<Object
[]> timeSeriesAvgDocente = query.
list();
if(timeSeriesAvgDocente.
size()>0
)
{
5+0%2Fdocs%2Fapi+Date">Date firstOcurrence =
(5+0%2Fdocs%2Fapi+Date">Date) timeSeriesAvgDocente.
get(0
)[1
];
5+0%2Fdocs%2Fapi+Date">Date lastOcurrence =
(5+0%2Fdocs%2Fapi+Date">Date) timeSeriesAvgDocente.
get(timeSeriesAvgDocente.
size()-1
)[1
];
1.5.0/docs/api/java/lang/String.html">String cursosQuery = QueryDaoUtils.
createCursosQuery(codigosCursos,
true);
1.5.0/docs/api/javax/management/Query.html">Query queryCursos = AbstractDao.
getCurrentSession().
createQuery("" +
"SELECT " +
"avg(fc.intResposta) as media, " +
"quest.generatedTime as date " +
"FROM " + OlapStarFactQuestionarioAnswer.
class.
getName() +
" fc " +
"JOIN fc.olapPergunta prgp " +
"JOIN fc.olapTipologia tipo " +
"JOIN fc.olapQuestionario quest " +
"JOIN fc.olapCurso curso " +
"JOIN fc.olapTimeLine timeLine " +
"where " +
"quest.generatedTime >= :minDate and quest.generatedTime <= :maxDate " +
"and timeLine.nome = '" + PedagogicoAlunosProcessor.
getHistoryDriveConstraintStatic() +
"' " +
cursosQuery +
degreesQuery +
periodosQuery +
(grupo
!=
null ? " and prgp.grupoCode = :grupoCode " :
"" ) +
(subGrupo
!=
null ? " and prgp.subGrupoCode = :subGrupoCode " :
"" ) +
" group by quest.generatedTime " +
"order by quest.generatedTime asc ");
if(grupo
!=
null)
queryCursos.
setString("grupoCode",grupo
);
if(subGrupo
!=
null)
queryCursos.
setString("subGrupoCode",subGrupo
);
queryCursos.
setTimestamp("minDate", firstOcurrence
);
queryCursos.
setTimestamp("maxDate",lastOcurrence
);
List
<Object
[]> timeSeriesAvgCursosDocente = queryCursos.
list();
try {
1.5.0/docs/api/java/lang/String.html">String chart = ChartBuilderUtil.
createTimeSeriesDiffArea((grupo
!=
null?grupo:
"") +
(subGrupo
!=
null?subGrupo:
""),
" Docente ",
" Curso ", timeSeriesAvgDocente, timeSeriesAvgCursosDocente
);
return chart
;
} catch (1.5.0/docs/api/java/io/IOException.html">IOException e
) {
e.
printStackTrace();
}
}
return null;
}
private void criaExtremeCharts
(DocenteReport docenteReport
)
{
{
DocenteReport.
PerguntaUnidadeStatAux perguntaMaxDocente = docenteReport.
extremePerguntaMaxDocente();
DocenteReport.
PerguntaUnidadeStatAux perguntaMinDocente = docenteReport.
extremePerguntaMinDocente();
DocenteReport.
PerguntaUnidadeStatAux perguntaMaxUnidade = docenteReport.
extremePerguntaMaxUnidade();
DocenteReport.
PerguntaUnidadeStatAux perguntaMinUnidade = docenteReport.
extremePerguntaMinUnidade();
try {
if(perguntaMaxDocente
!=
null)
{
1.5.0/docs/api/java/lang/String.html">String pathExtremePerguntaMaxDocente = ChartBuilderUtil.
createChartRingOneDimension(perguntaMaxDocente.
pergunta.
getMediaEntidadeEmAvaliacao(),5,
true,
true,
false,
"extremePerguntaMaxDocente");
1.5.0/docs/api/java/lang/String.html">String pathExtremePerguntaMinDocente = ChartBuilderUtil.
createChartRingOneDimension(perguntaMinDocente.
pergunta.
getMediaEntidadeEmAvaliacao(),5,
true,
true,
false,
"extremePerguntaMinDocente");
ChartWithTitleTemp chartPerguntaMaxDocenteChart =
new ChartWithTitleTemp
(perguntaMaxDocente.
pergunta.
getPergunta(),perguntaMaxDocente.
nomeUnidade,pathExtremePerguntaMaxDocente
);
ChartWithTitleTemp chartPerguntaMinDocenteChart =
new ChartWithTitleTemp
(perguntaMinDocente.
pergunta.
getPergunta(),perguntaMinDocente.
nomeUnidade,pathExtremePerguntaMinDocente
);
docenteReport.
extremePerguntaAbsolutaAvgMaxDocente = chartPerguntaMaxDocenteChart
;
docenteReport.
extremePerguntaAbsolutaAvgMinDocente = chartPerguntaMinDocenteChart
;
}
if(perguntaMaxUnidade
!=
null)
{
1.5.0/docs/api/java/lang/String.html">String pathExtremePerguntaMaxUnidade = ChartBuilderUtil.
createChartRingOneDimension(perguntaMaxUnidade.
pergunta.
getMediaEntidadeEmAvaliacao(),5,
true,
true,
false,
"extremePerguntaMaxUnidade");
1.5.0/docs/api/java/lang/String.html">String pathExtremePerguntaMinUnidade = ChartBuilderUtil.
createChartRingOneDimension(perguntaMinUnidade.
pergunta.
getMediaEntidadeEmAvaliacao(),5,
true,
true,
false,
"extremePerguntaMinUnidade");
ChartWithTitleTemp chartPerguntaMaxUnidade =
new ChartWithTitleTemp
(perguntaMaxUnidade.
pergunta.
getPergunta(),perguntaMaxUnidade.
nomeUnidade,pathExtremePerguntaMaxUnidade
);
ChartWithTitleTemp chartPerguntaMinUnidade =
new ChartWithTitleTemp
(perguntaMinUnidade.
pergunta.
getPergunta(),perguntaMinUnidade.
nomeUnidade,pathExtremePerguntaMinUnidade
);
docenteReport.
extremePerguntaAbsolutaAvgMaxUnidade = chartPerguntaMaxUnidade
;
docenteReport.
extremePerguntaAbsolutaAvgMinUnidade = chartPerguntaMinUnidade
;
}
}
catch (1.5.0/docs/api/java/io/IOException.html">IOException e
)
{
logger.
error(e,e
);
}
}
{
PerguntaStats perguntaAgregadaMaxDocente = docenteReport.
extremeDocentePerguntaAgregadasMax();
PerguntaStats perguntaAgregadaMinDocente = docenteReport.
extremeDocentePerguntaAgregadasMin();
PerguntaStats perguntaAgregadaMaxUnidade = docenteReport.
extremeUnidadePerguntaAgregadaMax();
PerguntaStats perguntaAgregadaMinUnidade = docenteReport.
extremeUnidadePerguntaAgregadaMin();
try {
if(perguntaAgregadaMaxDocente
!=
null)
{
1.5.0/docs/api/java/lang/String.html">String pathExtremePerguntaMaxDocente = ChartBuilderUtil.
createChartRingOneDimension(perguntaAgregadaMaxDocente.
getMediaEntidadeEmAvaliacao(),5,
true,
true,
false,
"extremePerguntaAgregadaMaxDocente");
1.5.0/docs/api/java/lang/String.html">String pathExtremePerguntaMinDocente = ChartBuilderUtil.
createChartRingOneDimension(perguntaAgregadaMinDocente.
getMediaEntidadeEmAvaliacao(),5,
true,
true,
false,
"extremePerguntaAgregadaMinDocente");
ChartWithTitleTemp chartPerguntaMaxDocente =
new ChartWithTitleTemp
(perguntaAgregadaMaxDocente.
getPergunta(),
"",pathExtremePerguntaMaxDocente
);
ChartWithTitleTemp chartPerguntaMinDocente =
new ChartWithTitleTemp
(perguntaAgregadaMinDocente.
getPergunta(),
"",pathExtremePerguntaMinDocente
);
docenteReport.
extremePerguntaAgregadaAvgMaxDocente = chartPerguntaMaxDocente
;
docenteReport.
extremePerguntaAgregadaAvgMinDocente = chartPerguntaMinDocente
;
}
if(perguntaAgregadaMaxUnidade
!=
null)
{
1.5.0/docs/api/java/lang/String.html">String pathExtremePerguntaMaxUnidade = ChartBuilderUtil.
createChartRingOneDimension(perguntaAgregadaMaxUnidade.
getMediaEntidadeEmAvaliacao(),5,
true,
true,
false,
"extremePerguntaAgregadaMaxUnidade");
1.5.0/docs/api/java/lang/String.html">String pathExtremePerguntaMinUnidade = ChartBuilderUtil.
createChartRingOneDimension(perguntaAgregadaMinUnidade.
getMediaEntidadeEmAvaliacao(),5,
true,
true,
false,
"extremePerguntaAgregadaMinUnidade");
ChartWithTitleTemp chartPerguntaMaxUnidade =
new ChartWithTitleTemp
(perguntaAgregadaMaxUnidade.
getPergunta(),
"",pathExtremePerguntaMaxUnidade
);
ChartWithTitleTemp chartPerguntaMinUnidade =
new ChartWithTitleTemp
(perguntaAgregadaMinUnidade.
getPergunta(),
"",pathExtremePerguntaMinUnidade
);
docenteReport.
extremePerguntaAgregadaAvgMaxUnidade = chartPerguntaMaxUnidade
;
docenteReport.
extremePerguntaAgregadaAvgMinUnidade = chartPerguntaMinUnidade
;
}
}
catch (1.5.0/docs/api/java/io/IOException.html">IOException e
)
{
logger.
error(e,e
);
}
}
{
UnidadeStats unidadeMaxDocente = docenteReport.
extremeDocenteUnidadeMax();
UnidadeStats unidadeMinDocente = docenteReport.
extremeDocenteUnidadeMin();
UnidadeStats unidadeMaxUnidade = docenteReport.
extremeUnidadeUnidadeMax();
UnidadeStats unidadeMinUnidade = docenteReport.
extremeUnidadeUnidadeMin();
try {
if(unidadeMaxDocente
!=
null)
{
1.5.0/docs/api/java/lang/String.html">String pathExtremePerguntaMaxDocente = ChartBuilderUtil.
createChartRingOneDimension(unidadeMaxDocente.
getUnidadeStatsGrupoDocente().
getMediasGrupo().
getAvaliacaoMedia(),5,
true,
true,
false,
"extremeUnidadeMaxDocente");
1.5.0/docs/api/java/lang/String.html">String pathExtremePerguntaMinDocente = ChartBuilderUtil.
createChartRingOneDimension(unidadeMinDocente.
getUnidadeStatsGrupoDocente().
getMediasGrupo().
getAvaliacaoMedia(),5,
true,
true,
false,
"extremeUnidadeMinDocente");
ChartWithTitleTemp chartPerguntaMaxDocente =
new ChartWithTitleTemp
(unidadeMaxDocente.
getNomeUnidade(),
"",pathExtremePerguntaMaxDocente
);
ChartWithTitleTemp chartPerguntaMinDocente =
new ChartWithTitleTemp
(unidadeMinDocente.
getNomeUnidade(),
"",pathExtremePerguntaMinDocente
);
docenteReport.
extremeUnitAvgMaxDocente = chartPerguntaMaxDocente
;
docenteReport.
extremeUnitAvgMinDocente = chartPerguntaMinDocente
;
}
if(unidadeMaxUnidade
!=
null)
{
1.5.0/docs/api/java/lang/String.html">String pathExtremePerguntaMaxUnidade = ChartBuilderUtil.
createChartRingOneDimension(unidadeMaxUnidade.
getUnidadeStatsGrupoUnidade().
getMediasGrupo().
getAvaliacaoMedia(),5,
true,
true,
false,
"extremeUnidadeMaxUnidade");
1.5.0/docs/api/java/lang/String.html">String pathExtremePerguntaMinUnidade = ChartBuilderUtil.
createChartRingOneDimension(unidadeMinUnidade.
getUnidadeStatsGrupoUnidade().
getMediasGrupo().
getAvaliacaoMedia(),5,
true,
true,
false,
"extremeUnidadeMinUnidade");
ChartWithTitleTemp chartPerguntaMaxUnidade =
new ChartWithTitleTemp
(unidadeMaxUnidade.
getNomeUnidade(),
"",pathExtremePerguntaMaxUnidade
);
ChartWithTitleTemp chartPerguntaMinUnidade =
new ChartWithTitleTemp
(unidadeMinUnidade.
getNomeUnidade(),
"",pathExtremePerguntaMinUnidade
);
docenteReport.
extremeUnitAvgMaxUnidade = chartPerguntaMaxUnidade
;
docenteReport.
extremeUnitAvgMinUnidade = chartPerguntaMinUnidade
;
}
}
catch (1.5.0/docs/api/java/io/IOException.html">IOException e
)
{
logger.
error(e,e
);
}
}
{
DocenteReport.
PerguntaUnidadeStatAux perguntaDiffMaxDocente = docenteReport.
extremeDiffMediaPerguntaMaxDocente();
DocenteReport.
PerguntaUnidadeStatAux perguntaDiffMinDocente = docenteReport.
extremeDiffMediaPerguntaMinDocente();
DocenteReport.
PerguntaUnidadeStatAux perguntaDiffMaxUnidade = docenteReport.
extremeDiffMediaPerguntaMaxUnidade();
DocenteReport.
PerguntaUnidadeStatAux perguntaDiffMinUnidade = docenteReport.
extremeDiffMediaPerguntaMinUnidade();
try {
if(perguntaDiffMaxDocente
!=
null)
{
1.5.0/docs/api/java/lang/String.html">String pathExtremePerguntaMaxDocente = ChartBuilderUtil.
createBarChartTwoBars("Docente",
"Curso",ChartBuilderUtil.
COLOR_SECTION_BLUE_DARK,ChartBuilderUtil.
COLOR_SECTION_GREEN, perguntaDiffMaxDocente.
pergunta.
getMediaEntidadeEmAvaliacao(),perguntaDiffMaxDocente.
pergunta.
getMediaCursos(),
5,
"extremeDiffMaxDocente");
1.5.0/docs/api/java/lang/String.html">String pathExtremePerguntaMinDocente = ChartBuilderUtil.
createBarChartTwoBars("Docente",
"Curso", ChartBuilderUtil.
COLOR_SECTION_BLUE_DARK, ChartBuilderUtil.
COLOR_SECTION_GREEN, perguntaDiffMinDocente.
pergunta.
getMediaEntidadeEmAvaliacao(), perguntaDiffMinDocente.
pergunta.
getMediaCursos(),
5,
"extremeDiffMinDocente");
ChartWithTitleTemp chartPerguntaMaxDocente =
new ChartWithTitleTemp
(perguntaDiffMaxDocente.
pergunta.
getPergunta() +
" ( " + perguntaDiffMaxDocente.
pergunta.
getDiffMediaCursoPrint() +
")",perguntaDiffMaxDocente.
nomeUnidade,pathExtremePerguntaMaxDocente
);
ChartWithTitleTemp chartPerguntaMinDocente =
new ChartWithTitleTemp
(perguntaDiffMinDocente.
pergunta.
getPergunta() +
" ( " + perguntaDiffMinDocente.
pergunta.
getDiffMediaCursoPrint() +
")",perguntaDiffMinDocente.
nomeUnidade,pathExtremePerguntaMinDocente
);
docenteReport.
extremePerguntaAbsolutaDiffAvgMaxDocente = chartPerguntaMaxDocente
;
docenteReport.
extremePerguntaAbsolutaDiffAvgMinDocente = chartPerguntaMinDocente
;
}
if(perguntaDiffMaxUnidade
!=
null)
{
1.5.0/docs/api/java/lang/String.html">String pathExtremePerguntaMaxUnidade = ChartBuilderUtil.
createBarChartTwoBars("Docente",
"Curso", ChartBuilderUtil.
COLOR_SECTION_BLUE_DARK, ChartBuilderUtil.
COLOR_SECTION_GREEN, perguntaDiffMaxUnidade.
pergunta.
getMediaEntidadeEmAvaliacao(), perguntaDiffMaxUnidade.
pergunta.
getMediaCursos(),
5,
"extremeDiffMaxUnidade");
1.5.0/docs/api/java/lang/String.html">String pathExtremePerguntaMinUnidade = ChartBuilderUtil.
createBarChartTwoBars("Docente",
"Curso", ChartBuilderUtil.
COLOR_SECTION_BLUE_DARK, ChartBuilderUtil.
COLOR_SECTION_GREEN, perguntaDiffMinUnidade.
pergunta.
getMediaEntidadeEmAvaliacao(), perguntaDiffMinUnidade.
pergunta.
getMediaCursos(),
5,
"extremeDiffMinUnidade");
ChartWithTitleTemp chartPerguntaMaxUnidade =
new ChartWithTitleTemp
(perguntaDiffMaxUnidade.
pergunta.
getPergunta() +
" ( " + perguntaDiffMaxUnidade.
pergunta.
getDiffMediaCursoPrint() +
")",perguntaDiffMaxUnidade.
nomeUnidade,pathExtremePerguntaMaxUnidade
);
ChartWithTitleTemp chartPerguntaMinUnidade =
new ChartWithTitleTemp
(perguntaDiffMinUnidade.
pergunta.
getPergunta() +
" ( " + perguntaDiffMinUnidade.
pergunta.
getDiffMediaCursoPrint() +
")",perguntaDiffMinUnidade.
nomeUnidade,pathExtremePerguntaMinUnidade
);
docenteReport.
extremePerguntaAbsolutaDiffAvgMaxUnidade = chartPerguntaMaxUnidade
;
docenteReport.
extremePerguntaAbsolutaDiffAvgMinUnidade = chartPerguntaMinUnidade
;
}
}
catch (1.5.0/docs/api/java/io/IOException.html">IOException e
)
{
logger.
error(e,e
);
}
}
{
QuestionariosAlunosReport.
ParticipacaoUnidade perguntaDiffMax = docenteReport.
extremeParticipacaoUnidadeMax();
QuestionariosAlunosReport.
ParticipacaoUnidade perguntaDiffMin = docenteReport.
extremeParticipacaoUnidadeMin();
try {
if(perguntaDiffMax
!=
null)
{
1.5.0/docs/api/java/lang/String.html">String pathExtremePerguntaMaxDocente = ChartBuilderUtil.
createChartRingOneDimension(perguntaDiffMax.
getParticiparam(),perguntaDiffMax.
getInscritos(),
true,
true,
false,
"extremeParticipacaoMax");
1.5.0/docs/api/java/lang/String.html">String pathExtremePerguntaMinDocente = ChartBuilderUtil.
createChartRingOneDimension(perguntaDiffMin.
getParticiparam(),perguntaDiffMin.
getInscritos(),
true,
true,
false,
"extremeParticipacaoMin");
ChartWithTitleTemp chartPerguntaMaxDocente =
new ChartWithTitleTemp
(perguntaDiffMax.
getNomeUnidade() +
" (inscritos: " + perguntaDiffMax.
getInscritos() +
")",
"",pathExtremePerguntaMaxDocente
);
ChartWithTitleTemp chartPerguntaMinDocente =
new ChartWithTitleTemp
(perguntaDiffMin.
getNomeUnidade() +
" (inscritos: " + perguntaDiffMin.
getInscritos() +
")",
"",pathExtremePerguntaMinDocente
);
docenteReport.
extremeParticipacaoMax = chartPerguntaMaxDocente
;
docenteReport.
extremeParticipacaoMin = chartPerguntaMinDocente
;
}
}
catch (1.5.0/docs/api/java/io/IOException.html">IOException e
)
{
logger.
error(e,e
);
}
}
}
/**
*
* GET PARAMETERS
* FILE_GROUP_ID
* LOAD FILE GROUP GET ANO, PERIODOS, DEGREES
* GET ALL DOCENTES
* GENERATE REPORT
* UPLOAD FILE REPOSITORY WITH PERMISSIONS
* QUESTIONARIOS_FILE_GROUP_DOCENTE_REPORT
* DELETE TMP
* GENERATE CSV FILE
* PUT STREAM IN FILE GROUP
* QUESTIONARIOS_FILE_GROUP_DOCENTE_ALL
* CREATE ZIP WITH ALL REPORTS PUT IN FILE GROUP
* DELETE TMP
* PUT STREAM IN FILE GROUP
* QUESTIONARIOS_FILE_GROUP_DOCENTE_ALL
* DELETE TMP
*
* @return
* @throws Throwable
*/
@
1.5.0/docs/api/java/lang/Override.html">Override
protected ILogMessages runJobServiceTask
() throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable
{
long questionarioReportId =
1.5.0/docs/api/java/lang/Long.html">Long.
parseLong(getParametersMap
().
get(ServiceJob.
JOB_questionario_report_id_KEY).
getObject());
DefaultLogMessages logMessages =
new DefaultLogMessages
();
int docentesEncontrados =
0;
int docentesProcessados =
0;
int docentesFalhados =
0;
serviceLogInfo
("######################################");
serviceLogInfo
("######################################");
serviceLogInfo
("#Docentes Encontrados:" + docentesEncontrados
);
serviceLogInfo
("#Docentes Processados:" + docentesProcessados
);
serviceLogInfo
("#Docentes Falhados:" + docentesFalhados
);
logger.
info("######################################");
logger.
info("######################################");
logger.
info("#Docentes Encontrados:" + docentesEncontrados
);
logger.
info("#Docentes Processados:" + docentesProcessados
);
logger.
info("#Docentes Falhados:" + docentesFalhados
);
return logMessages
;
}
}