Subversion Repositories bacoAlunos

Rev

Rev 1576 | Blame | Compare with Previous | Last modification | View Log | RSS feed

package pt.estgp.estgweb.services.questionarios.pedagogico.reportprocessors.reportdomains;

import pt.estgp.estgweb.services.questionarios.pedagogico.reportprocessors.queries.PerguntasGrupoQueryDao;
import pt.estgp.estgweb.services.questionarios.pedagogico.reportprocessors.utils.*;

import java.io.Serializable;
import java.util.*;

/**
 * Created by jorgemachado on 07/11/16.
 */

public class DocenteReport extends QuestionariosAlunosReport implements 1.5.0/docs/api/java/io/Serializable.html">Serializable{



    //Evoluir para ter um DocenteStats com tudo isto
    1.5.0/docs/api/java/lang/String.html">String nomeDocente;
    1.5.0/docs/api/java/lang/String.html">String numeroDocente;



    //Respostas Agregadas com medias de Grupo
    //Tem as perguntas Todas numa lista de PerguntaStats
    public RespostasAgregadasGrupoStats respostasAgregadasGrupoDocente = new RespostasAgregadasGrupoStats(PerguntasGrupoQueryDao.GRUPO_DOCENTE_CODE_PERGUNTAS,null);
    public RespostasAgregadasGrupoStats respostasAgregadasGrupoUnidade = new RespostasAgregadasGrupoStats(PerguntasGrupoQueryDao.GRUPO_UNIDADE_CODE_PERGUNTAS,null);
    public RespostasAgregadasGrupoStats respostasAgregadasGrupoDrelDocenteAluno = new RespostasAgregadasGrupoStats(PerguntasGrupoQueryDao.GRUPO_DOCENTE_CODE_PERGUNTAS,PerguntasGrupoQueryDao.GRUPO_DOCENTE_REL_ALUNO_CODE_PERGUNTAS);
    public RespostasAgregadasGrupoStats respostasAgregadasGrupoDdocenteProf = new RespostasAgregadasGrupoStats(PerguntasGrupoQueryDao.GRUPO_DOCENTE_CODE_PERGUNTAS,PerguntasGrupoQueryDao.GRUPO_DOCENTE_PROFISSIONALISMO_DOCENTE_CODE_PERGUNTAS);

    public RespostasAgregadasGrupoStats respostasAgregadasGrupoSalas = new RespostasAgregadasGrupoStats(PerguntasGrupoQueryDao.GRUPO_SALAS_CODE_PERGUNTAS,null);
    public RespostasAgregadasGrupoStats respostasAgregadasGrupoProjetoEstagio = new RespostasAgregadasGrupoStats(PerguntasGrupoQueryDao.GRUPO_ESTAGIO_CODE_PERGUNTAS,null);
    public RespostasAgregadasGrupoStats respostasAgregadasGrupoEnsinoClinico = new RespostasAgregadasGrupoStats(PerguntasGrupoQueryDao.GRUPO_ENSINO_CLINICO_CODE_PERGUNTAS,null);

    //Respostas por unidade com medias de Grupo
    //Cada cadeira tem as perguntas todas numa lista de PerguntaStats
    public ArrayList<UnidadeStats> unidadesStats = new ArrayList<UnidadeStats>();

    //AVALIACAO DE DESEMPENHO
    public double docenteAvaliacaoDesempenhoRMTR;
    public double docenteAvaliacaoDesempenhoTR;
    public double docenteAvaliacaoDesempenhoMediaPeriodo;

    public 1.5.0/docs/api/java/lang/String.html">String docenteAvaliacaoDesempenhoRMTRPrint;
    public 1.5.0/docs/api/java/lang/String.html">String docenteAvaliacaoDesempenhoTRPrint;
    public 1.5.0/docs/api/java/lang/String.html">String docenteAvaliacaoDesempenhoMediaPeriodoPrint;

    public DataTable docenteAvaliacaoDesempenhoTable;

    //TOTAIS PARA MEDIAS
    public int docentesNosCursos;
    public int docentesNasEscolas;

    public int unidadesNosCursos;
    public int unidadesNasEscolas;


    public ChartWithTitleTemp extremePerguntaAbsolutaAvgMaxDocente;
    public ChartWithTitleTemp extremePerguntaAbsolutaAvgMinDocente;
    public ChartWithTitleTemp extremePerguntaAbsolutaAvgMaxUnidade;
    public ChartWithTitleTemp extremePerguntaAbsolutaAvgMinUnidade;

    public ChartWithTitleTemp extremePerguntaAgregadaAvgMaxDocente;
    public ChartWithTitleTemp extremePerguntaAgregadaAvgMinDocente;
    public ChartWithTitleTemp extremePerguntaAgregadaAvgMaxUnidade;
    public ChartWithTitleTemp extremePerguntaAgregadaAvgMinUnidade;

    public ChartWithTitleTemp extremeUnitAvgMaxDocente;
    public ChartWithTitleTemp extremeUnitAvgMinDocente;
    public ChartWithTitleTemp extremeUnitAvgMaxUnidade;
    public ChartWithTitleTemp extremeUnitAvgMinUnidade;

    public ChartWithTitleTemp extremeParticipacaoMax;
    public ChartWithTitleTemp extremeParticipacaoMin;

    public ChartWithTitleTemp extremePerguntaAbsolutaDiffAvgMaxDocente;
    public ChartWithTitleTemp extremePerguntaAbsolutaDiffAvgMinDocente;
    public ChartWithTitleTemp extremePerguntaAbsolutaDiffAvgMaxUnidade;
    public ChartWithTitleTemp extremePerguntaAbsolutaDiffAvgMinUnidade;



    ChartWithDataTable dimensoesGeralChartAndTable;
    ChartWithDataTable unidadesAnalGrDocenteGrUnidadeChartAndTable;
    ChartWithDataTable unidadesAnalGrRelAlunoGrProfDoceChartAndTable;


    public 1.5.0/docs/api/java/lang/String.html">String progressaoAgregadasDocentesVsCurso;
    public 1.5.0/docs/api/java/lang/String.html">String progressaoAgregadasUnidadesVsCurso;

    public 1.5.0/docs/api/java/lang/String.html">String progressaoAgregadasDocentesDrelAlunoVsCurso;
    public 1.5.0/docs/api/java/lang/String.html">String progressaoAgregadasDocentesDprofDocenteVsCurso;


    public RespostasAgregadasGrupoStats getRespostasAgregadasGrupoSalas() {
        return respostasAgregadasGrupoSalas;
    }

    public void setRespostasAgregadasGrupoSalas(RespostasAgregadasGrupoStats respostasAgregadasGrupoSalas) {
        this.respostasAgregadasGrupoSalas = respostasAgregadasGrupoSalas;
    }

    public RespostasAgregadasGrupoStats getRespostasAgregadasGrupoProjetoEstagio() {
        return respostasAgregadasGrupoProjetoEstagio;
    }

    public void setRespostasAgregadasGrupoProjetoEstagio(RespostasAgregadasGrupoStats respostasAgregadasGrupoProjetoEstagio) {
        this.respostasAgregadasGrupoProjetoEstagio = respostasAgregadasGrupoProjetoEstagio;
    }

    public RespostasAgregadasGrupoStats getRespostasAgregadasGrupoEnsinoClinico() {
        return respostasAgregadasGrupoEnsinoClinico;
    }

    public void setRespostasAgregadasGrupoEnsinoClinico(RespostasAgregadasGrupoStats respostasAgregadasGrupoEnsinoClinico) {
        this.respostasAgregadasGrupoEnsinoClinico = respostasAgregadasGrupoEnsinoClinico;
    }

    public ChartWithDataTable getDimensoesGeralChartAndTable() {
        return dimensoesGeralChartAndTable;
    }

    public void setDimensoesGeralChartAndTable(ChartWithDataTable dimensoesGeralChartAndTable) {
        this.dimensoesGeralChartAndTable = dimensoesGeralChartAndTable;
    }

    public ChartWithDataTable getUnidadesAnalGrDocenteGrUnidadeChartAndTable() {
        return unidadesAnalGrDocenteGrUnidadeChartAndTable;
    }

    public void setUnidadesAnalGrDocenteGrUnidadeChartAndTable(ChartWithDataTable unidadesAnalGrDocenteGrUnidadeChartAndTable) {
        this.unidadesAnalGrDocenteGrUnidadeChartAndTable = unidadesAnalGrDocenteGrUnidadeChartAndTable;
    }

    public ChartWithDataTable getUnidadesAnalGrRelAlunoGrProfDoceChartAndTable() {
        return unidadesAnalGrRelAlunoGrProfDoceChartAndTable;
    }

    public void setUnidadesAnalGrRelAlunoGrProfDoceChartAndTable(ChartWithDataTable unidadesAnalGrRelAlunoGrProfDoceChartAndTable) {
        this.unidadesAnalGrRelAlunoGrProfDoceChartAndTable = unidadesAnalGrRelAlunoGrProfDoceChartAndTable;
    }

    public RespostasAgregadasGrupoStats getRespostasAgregadasGrupoDrelDocenteAluno() {
        return respostasAgregadasGrupoDrelDocenteAluno;
    }

    public void setRespostasAgregadasGrupoDrelDocenteAluno(RespostasAgregadasGrupoStats respostasAgregadasGrupoDrelDocenteAluno) {
        this.respostasAgregadasGrupoDrelDocenteAluno = respostasAgregadasGrupoDrelDocenteAluno;
    }

    public RespostasAgregadasGrupoStats getRespostasAgregadasGrupoDdocenteProf() {
        return respostasAgregadasGrupoDdocenteProf;
    }

    public void setRespostasAgregadasGrupoDdocenteProf(RespostasAgregadasGrupoStats respostasAgregadasGrupoDdocenteProf) {
        this.respostasAgregadasGrupoDdocenteProf = respostasAgregadasGrupoDdocenteProf;
    }

    public 1.5.0/docs/api/java/lang/String.html">String getProgressaoAgregadasDocentesDrelAlunoVsCurso() {
        return progressaoAgregadasDocentesDrelAlunoVsCurso;
    }

    public void setProgressaoAgregadasDocentesDrelAlunoVsCurso(1.5.0/docs/api/java/lang/String.html">String progressaoAgregadasDocentesDrelAlunoVsCurso) {
        this.progressaoAgregadasDocentesDrelAlunoVsCurso = progressaoAgregadasDocentesDrelAlunoVsCurso;
    }

    public 1.5.0/docs/api/java/lang/String.html">String getProgressaoAgregadasDocentesDprofDocenteVsCurso() {
        return progressaoAgregadasDocentesDprofDocenteVsCurso;
    }

    public void setProgressaoAgregadasDocentesDprofDocenteVsCurso(1.5.0/docs/api/java/lang/String.html">String progressaoAgregadasDocentesDprofDocenteVsCurso) {
        this.progressaoAgregadasDocentesDprofDocenteVsCurso = progressaoAgregadasDocentesDprofDocenteVsCurso;
    }

    public DataTable getDocenteAvaliacaoDesempenhoTable() {
        return docenteAvaliacaoDesempenhoTable;
    }

    public void setDocenteAvaliacaoDesempenhoTable(DataTable docenteAvaliacaoDesempenhoTable) {
        this.docenteAvaliacaoDesempenhoTable = docenteAvaliacaoDesempenhoTable;
    }

    public 1.5.0/docs/api/java/lang/String.html">String getDocenteAvaliacaoDesempenhoRMTRPrint() {
        return docenteAvaliacaoDesempenhoRMTRPrint;
    }

    public void setDocenteAvaliacaoDesempenhoRMTRPrint(1.5.0/docs/api/java/lang/String.html">String docenteAvaliacaoDesempenhoRMTRPrint) {
        this.docenteAvaliacaoDesempenhoRMTRPrint = docenteAvaliacaoDesempenhoRMTRPrint;
    }

    public 1.5.0/docs/api/java/lang/String.html">String getDocenteAvaliacaoDesempenhoTRPrint() {
        return docenteAvaliacaoDesempenhoTRPrint;
    }

    public void setDocenteAvaliacaoDesempenhoTRPrint(1.5.0/docs/api/java/lang/String.html">String docenteAvaliacaoDesempenhoTRPrint) {
        this.docenteAvaliacaoDesempenhoTRPrint = docenteAvaliacaoDesempenhoTRPrint;
    }

    public 1.5.0/docs/api/java/lang/String.html">String getDocenteAvaliacaoDesempenhoMediaPeriodoPrint() {
        return docenteAvaliacaoDesempenhoMediaPeriodoPrint;
    }

    public void setDocenteAvaliacaoDesempenhoMediaPeriodoPrint(1.5.0/docs/api/java/lang/String.html">String docenteAvaliacaoDesempenhoMediaPeriodoPrint) {
        this.docenteAvaliacaoDesempenhoMediaPeriodoPrint = docenteAvaliacaoDesempenhoMediaPeriodoPrint;
    }

    public double getDocenteAvaliacaoDesempenhoRMTR() {
        return docenteAvaliacaoDesempenhoRMTR;
    }

    public void setDocenteAvaliacaoDesempenhoRMTR(double docenteAvaliacaoDesempenhoRMTR) {
        this.docenteAvaliacaoDesempenhoRMTR = docenteAvaliacaoDesempenhoRMTR;
    }

    public double getDocenteAvaliacaoDesempenhoTR() {
        return docenteAvaliacaoDesempenhoTR;
    }

    public void setDocenteAvaliacaoDesempenhoTR(double docenteAvaliacaoDesempenhoTR) {
        this.docenteAvaliacaoDesempenhoTR = docenteAvaliacaoDesempenhoTR;
    }

    public double getDocenteAvaliacaoDesempenhoMediaPeriodo() {
        return docenteAvaliacaoDesempenhoMediaPeriodo;
    }

    public void setDocenteAvaliacaoDesempenhoMediaPeriodo(double docenteAvaliacaoDesempenhoMediaPeriodo) {
        this.docenteAvaliacaoDesempenhoMediaPeriodo = docenteAvaliacaoDesempenhoMediaPeriodo;
    }

    public 1.5.0/docs/api/java/lang/String.html">String getProgressaoAgregadasDocentesVsCurso() {
        return progressaoAgregadasDocentesVsCurso;
    }

    public void setProgressaoAgregadasDocentesVsCurso(1.5.0/docs/api/java/lang/String.html">String progressaoAgregadasDocentesVsCurso) {
        this.progressaoAgregadasDocentesVsCurso = progressaoAgregadasDocentesVsCurso;
    }

    public 1.5.0/docs/api/java/lang/String.html">String getProgressaoAgregadasUnidadesVsCurso() {
        return progressaoAgregadasUnidadesVsCurso;
    }

    public void setProgressaoAgregadasUnidadesVsCurso(1.5.0/docs/api/java/lang/String.html">String progressaoAgregadasUnidadesVsCurso) {
        this.progressaoAgregadasUnidadesVsCurso = progressaoAgregadasUnidadesVsCurso;
    }

    public ChartWithTitleTemp getExtremePerguntaAbsolutaAvgMaxDocente() {
        return extremePerguntaAbsolutaAvgMaxDocente;
    }

    public void setExtremePerguntaAbsolutaAvgMaxDocente(ChartWithTitleTemp extremePerguntaAbsolutaAvgMaxDocente) {
        this.extremePerguntaAbsolutaAvgMaxDocente = extremePerguntaAbsolutaAvgMaxDocente;
    }

    public ChartWithTitleTemp getExtremePerguntaAbsolutaAvgMinDocente() {
        return extremePerguntaAbsolutaAvgMinDocente;
    }

    public void setExtremePerguntaAbsolutaAvgMinDocente(ChartWithTitleTemp extremePerguntaAbsolutaAvgMinDocente) {
        this.extremePerguntaAbsolutaAvgMinDocente = extremePerguntaAbsolutaAvgMinDocente;
    }

    public ChartWithTitleTemp getExtremePerguntaAbsolutaAvgMaxUnidade() {
        return extremePerguntaAbsolutaAvgMaxUnidade;
    }

    public void setExtremePerguntaAbsolutaAvgMaxUnidade(ChartWithTitleTemp extremePerguntaAbsolutaAvgMaxUnidade) {
        this.extremePerguntaAbsolutaAvgMaxUnidade = extremePerguntaAbsolutaAvgMaxUnidade;
    }

    public ChartWithTitleTemp getExtremePerguntaAbsolutaAvgMinUnidade() {
        return extremePerguntaAbsolutaAvgMinUnidade;
    }

    public void setExtremePerguntaAbsolutaAvgMinUnidade(ChartWithTitleTemp extremePerguntaAbsolutaAvgMinUnidade) {
        this.extremePerguntaAbsolutaAvgMinUnidade = extremePerguntaAbsolutaAvgMinUnidade;
    }

    public ChartWithTitleTemp getExtremePerguntaAgregadaAvgMaxDocente() {
        return extremePerguntaAgregadaAvgMaxDocente;
    }

    public void setExtremePerguntaAgregadaAvgMaxDocente(ChartWithTitleTemp extremePerguntaAgregadaAvgMaxDocente) {
        this.extremePerguntaAgregadaAvgMaxDocente = extremePerguntaAgregadaAvgMaxDocente;
    }

    public ChartWithTitleTemp getExtremePerguntaAgregadaAvgMinDocente() {
        return extremePerguntaAgregadaAvgMinDocente;
    }

    public void setExtremePerguntaAgregadaAvgMinDocente(ChartWithTitleTemp extremePerguntaAgregadaAvgMinDocente) {
        this.extremePerguntaAgregadaAvgMinDocente = extremePerguntaAgregadaAvgMinDocente;
    }

    public ChartWithTitleTemp getExtremePerguntaAgregadaAvgMaxUnidade() {
        return extremePerguntaAgregadaAvgMaxUnidade;
    }

    public void setExtremePerguntaAgregadaAvgMaxUnidade(ChartWithTitleTemp extremePerguntaAgregadaAvgMaxUnidade) {
        this.extremePerguntaAgregadaAvgMaxUnidade = extremePerguntaAgregadaAvgMaxUnidade;
    }

    public ChartWithTitleTemp getExtremePerguntaAgregadaAvgMinUnidade() {
        return extremePerguntaAgregadaAvgMinUnidade;
    }

    public void setExtremePerguntaAgregadaAvgMinUnidade(ChartWithTitleTemp extremePerguntaAgregadaAvgMinUnidade) {
        this.extremePerguntaAgregadaAvgMinUnidade = extremePerguntaAgregadaAvgMinUnidade;
    }

    public ChartWithTitleTemp getExtremeUnitAvgMaxDocente() {
        return extremeUnitAvgMaxDocente;
    }

    public void setExtremeUnitAvgMaxDocente(ChartWithTitleTemp extremeUnitAvgMaxDocente) {
        this.extremeUnitAvgMaxDocente = extremeUnitAvgMaxDocente;
    }

    public ChartWithTitleTemp getExtremeUnitAvgMinDocente() {
        return extremeUnitAvgMinDocente;
    }

    public void setExtremeUnitAvgMinDocente(ChartWithTitleTemp extremeUnitAvgMinDocente) {
        this.extremeUnitAvgMinDocente = extremeUnitAvgMinDocente;
    }

    public ChartWithTitleTemp getExtremeUnitAvgMaxUnidade() {
        return extremeUnitAvgMaxUnidade;
    }

    public void setExtremeUnitAvgMaxUnidade(ChartWithTitleTemp extremeUnitAvgMaxUnidade) {
        this.extremeUnitAvgMaxUnidade = extremeUnitAvgMaxUnidade;
    }

    public ChartWithTitleTemp getExtremeUnitAvgMinUnidade() {
        return extremeUnitAvgMinUnidade;
    }

    public void setExtremeUnitAvgMinUnidade(ChartWithTitleTemp extremeUnitAvgMinUnidade) {
        this.extremeUnitAvgMinUnidade = extremeUnitAvgMinUnidade;
    }

    public ChartWithTitleTemp getExtremeParticipacaoMax() {
        return extremeParticipacaoMax;
    }

    public void setExtremeParticipacaoMax(ChartWithTitleTemp extremeParticipacaoMax) {
        this.extremeParticipacaoMax = extremeParticipacaoMax;
    }

    public ChartWithTitleTemp getExtremeParticipacaoMin() {
        return extremeParticipacaoMin;
    }

    public void setExtremeParticipacaoMin(ChartWithTitleTemp extremeParticipacaoMin) {
        this.extremeParticipacaoMin = extremeParticipacaoMin;
    }

    public ChartWithTitleTemp getExtremePerguntaAbsolutaDiffAvgMaxDocente() {
        return extremePerguntaAbsolutaDiffAvgMaxDocente;
    }

    public void setExtremePerguntaAbsolutaDiffAvgMaxDocente(ChartWithTitleTemp extremePerguntaAbsolutaDiffAvgMaxDocente) {
        this.extremePerguntaAbsolutaDiffAvgMaxDocente = extremePerguntaAbsolutaDiffAvgMaxDocente;
    }

    public ChartWithTitleTemp getExtremePerguntaAbsolutaDiffAvgMinDocente() {
        return extremePerguntaAbsolutaDiffAvgMinDocente;
    }

    public void setExtremePerguntaAbsolutaDiffAvgMinDocente(ChartWithTitleTemp extremePerguntaAbsolutaDiffAvgMinDocente) {
        this.extremePerguntaAbsolutaDiffAvgMinDocente = extremePerguntaAbsolutaDiffAvgMinDocente;
    }

    public ChartWithTitleTemp getExtremePerguntaAbsolutaDiffAvgMaxUnidade() {
        return extremePerguntaAbsolutaDiffAvgMaxUnidade;
    }

    public void setExtremePerguntaAbsolutaDiffAvgMaxUnidade(ChartWithTitleTemp extremePerguntaAbsolutaDiffAvgMaxUnidade) {
        this.extremePerguntaAbsolutaDiffAvgMaxUnidade = extremePerguntaAbsolutaDiffAvgMaxUnidade;
    }

    public ChartWithTitleTemp getExtremePerguntaAbsolutaDiffAvgMinUnidade() {
        return extremePerguntaAbsolutaDiffAvgMinUnidade;
    }

    public void setExtremePerguntaAbsolutaDiffAvgMinUnidade(ChartWithTitleTemp extremePerguntaAbsolutaDiffAvgMinUnidade) {
        this.extremePerguntaAbsolutaDiffAvgMinUnidade = extremePerguntaAbsolutaDiffAvgMinUnidade;
    }

    public MediasGrupo mediasGrupoDocenteAgregada()
    {
        return respostasAgregadasGrupoDocente.getMediasGrupo();
    }

    public MediasGrupo mediasGrupoUnidadeAgregada()
    {
        return respostasAgregadasGrupoUnidade.getMediasGrupo();
    }

    public MediasGrupo mediaGrupoDocenteNaUnidade(1.5.0/docs/api/java/lang/String.html">String codigoUnidade, 1.5.0/docs/api/java/lang/String.html">String codigoCurso, 1.5.0/docs/api/java/lang/String.html">String semestre)
    {
        for(UnidadeStats unidadeStats :unidadesStats)
        {
            if(     unidadeStats.getCodigoUnidade().equals(codigoUnidade) &&
                    unidadeStats.getCodigoCurso().equals(codigoCurso) &&
                    unidadeStats.getSemestre().equals(semestre))
            {
                return unidadeStats.getUnidadeStatsGrupoDocente().getMediasGrupo();
            }
        }
        return null;
    }

    public MediasGrupo mediaGrupoUnidadeNaUnidade(1.5.0/docs/api/java/lang/String.html">String codigoUnidade, 1.5.0/docs/api/java/lang/String.html">String codigoCurso, 1.5.0/docs/api/java/lang/String.html">String semestre)
    {
        for(UnidadeStats unidadeStats :unidadesStats)
        {
            if(     unidadeStats.getCodigoUnidade().equals(codigoUnidade) &&
                    unidadeStats.getCodigoCurso().equals(codigoCurso) &&
                    unidadeStats.getSemestre().equals(semestre))
            {
                return unidadeStats.getUnidadeStatsGrupoUnidade().getMediasGrupo();
            }
        }
        return null;
    }


    public RespostasAgregadasGrupoStats getRespostasAgregadasGrupoDocente() {
        return respostasAgregadasGrupoDocente;
    }

    public void setRespostasAgregadasGrupoDocente(RespostasAgregadasGrupoStats respostasAgregadasGrupoDocente) {
        this.respostasAgregadasGrupoDocente = respostasAgregadasGrupoDocente;
    }

    public RespostasAgregadasGrupoStats getRespostasAgregadasGrupoUnidade() {
        return respostasAgregadasGrupoUnidade;
    }

    public void setRespostasAgregadasGrupoUnidade(RespostasAgregadasGrupoStats respostasAgregadasGrupoUnidade) {
        this.respostasAgregadasGrupoUnidade = respostasAgregadasGrupoUnidade;
    }

    public int getUnidadesNosCursos() {
        return unidadesNosCursos;
    }

    public void setUnidadesNosCursos(int unidadesNosCursos) {
        this.unidadesNosCursos = unidadesNosCursos;
    }

    public int getUnidadesNasEscolas() {
        return unidadesNasEscolas;
    }

    public void setUnidadesNasEscolas(int unidadesNasEscolas) {
        this.unidadesNasEscolas = unidadesNasEscolas;
    }

    public int getDocentesNosCursos() {
        return docentesNosCursos;
    }

    public void setDocentesNosCursos(int docentesNosCursos) {
        this.docentesNosCursos = docentesNosCursos;
    }

    public int getDocentesNasEscolas() {
        return docentesNasEscolas;
    }

    public void setDocentesNasEscolas(int docentesNasEscolas) {
        this.docentesNasEscolas = docentesNasEscolas;
    }



    public ArrayList<UnidadeStats> getUnidadesStats() {
        return unidadesStats;
    }

    public void setUnidadesStats(ArrayList<UnidadeStats> unidadesStats) {
        this.unidadesStats = unidadesStats;
    }

    public 1.5.0/docs/api/java/lang/String.html">String getNomeDocente() {
        return nomeDocente;
    }

    public void setNomeDocente(1.5.0/docs/api/java/lang/String.html">String nome) {
        this.nomeDocente = nome;
    }

    public 1.5.0/docs/api/java/lang/String.html">String getNumeroDocente() {
        return numeroDocente;
    }

    public void setNumeroDocente(1.5.0/docs/api/java/lang/String.html">String numero) {
        this.numeroDocente = numero;
    }





    /********************************************
     * CACHE DE MEDIAS PARA OUTROS GRAFICOS
     * PRIVADO
     ********************************************/

/*
    private HashMap<String,PerguntaStats> numeroPerguntaRespostasChart = new HashMap<String, PerguntaStats>();


    public void addNumeroPerguntaChartCache(PerguntaStats chart)
    {
        numeroPerguntaRespostasChart.put(chart.getNumero(),chart);
    }

    public PerguntaStats getRespostasChart(String numero)
    {
        return numeroPerguntaRespostasChart.get(numero);
    }

    public String getRespostasChartMediaCursos(String numero)
    {
        PerguntaStats r = numeroPerguntaRespostasChart.get(numero);
        return r == null ? "0" : r.getMediaCursos();
    }

    public String getRespostasChartMediaEscolas(String numero)
    {
        PerguntaStats r = numeroPerguntaRespostasChart.get(numero);
        return r == null ? "0" : r.getMediaEscolas();
    }

    public String getRespostasChartMediaEntidadeEmAvaliacao(String numero)
    {
        PerguntaStats r = numeroPerguntaRespostasChart.get(numero);
        return r == null ? "0" : r.getMediaEntidadeEmAvaliacao();
    }

    public String getRespostasChartMediaCursosPercent(String numero)
    {
        PerguntaStats r = numeroPerguntaRespostasChart.get(numero);
        return r == null ? "0" : r.getPercentMediaCursos();
    }

    public String getRespostasChartMediaEscolasPercent(String numero)
    {
        PerguntaStats r = numeroPerguntaRespostasChart.get(numero);
        return r == null ? "0" : r.getPercentMediaEscolas();
    }

    public String getRespostasChartMediaEntidadeEmAvaliacaoPercent(String numero)
    {
        PerguntaStats r = numeroPerguntaRespostasChart.get(numero);
        return r == null ? "0" : r.getPercentMediaEntidadeEmAvaliacao();
    }
*/



    /**************************************************
     * *****     EXTREME MEDIAS CALCULATIONS     *****
     * ************************************************/


    public PerguntaUnidadeStatAux extremePerguntaMaxDocente()
    {
        List<PerguntaUnidadeStatAux> perguntas = getPerguntaUnidadeStatAuxesDocenteSortedMedia();
        if(perguntas.size() > 0)
            return perguntas.get(0);
        return null;
    }

    public PerguntaUnidadeStatAux extremePerguntaMinDocente()
    {
        List<PerguntaUnidadeStatAux> perguntas = getPerguntaUnidadeStatAuxesDocenteSortedMedia();
        if(perguntas.size() > 0)
            return perguntas.get(perguntas.size() - 1);
        return null;
    }

    public PerguntaUnidadeStatAux extremePerguntaMaxUnidade()
    {
        List<PerguntaUnidadeStatAux> perguntas = getPerguntaUnidadeStatAuxesUnidadeSortedMedia();
        if(perguntas.size() > 0)
            return perguntas.get(0);
        return null;
    }

    public PerguntaUnidadeStatAux extremePerguntaMinUnidade()
    {
        List<PerguntaUnidadeStatAux> perguntas = getPerguntaUnidadeStatAuxesUnidadeSortedMedia();
        if(perguntas.size() > 0)
            return perguntas.get(perguntas.size() - 1);
        return null;
    }

    private List<PerguntaUnidadeStatAux> getPerguntaUnidadeStatAuxesDocenteSortedMedia() {
        List<PerguntaUnidadeStatAux> perguntas = new ArrayList<PerguntaUnidadeStatAux>();
        for(UnidadeStats unidadeStats : unidadesStats)
        {
            for(PerguntaStats ps : unidadeStats.getUnidadeStatsGrupoDocente().getPerguntasStats())
            {
                cloneAndAddPerguntaAuxToList(perguntas, unidadeStats, ps);
            }
        }
        sortPerguntaAuxesMedia(perguntas);
        return perguntas;
    }

    private void sortPerguntaAuxesMedia(List<PerguntaUnidadeStatAux> perguntas) {
        1.5.0/docs/api/java/util/Collections.html">Collections.sort(perguntas, new Comparator<PerguntaUnidadeStatAux>() {
            @1.5.0/docs/api/java/lang/Override.html">Override
            public int compare(PerguntaUnidadeStatAux o1, PerguntaUnidadeStatAux o2) {
                double diff = o2.pergunta.getMediaEntidadeEmAvaliacao() - o1.pergunta.getMediaEntidadeEmAvaliacao();
                if (diff < 0) return -1;
                if (diff > 0) return 1;
                return 0;
            }
        });
    }

    private List<PerguntaUnidadeStatAux> getPerguntaUnidadeStatAuxesUnidadeSortedMedia() {
        List<PerguntaUnidadeStatAux> perguntas = new ArrayList<PerguntaUnidadeStatAux>();
        for(UnidadeStats unidadeStats : unidadesStats)
        {
            for(PerguntaStats ps : unidadeStats.getUnidadeStatsGrupoUnidade().getPerguntasStats())
            {
                cloneAndAddPerguntaAuxToList(perguntas, unidadeStats, ps);
            }
        }
        sortPerguntaAuxesMedia(perguntas);
        return perguntas;
    }

    private void cloneAndAddPerguntaAuxToList(List<PerguntaUnidadeStatAux> perguntas, UnidadeStats unidadeStats, PerguntaStats ps) {
        PerguntaUnidadeStatAux aux = new PerguntaUnidadeStatAux();
        aux.pergunta = ps;
        aux.codigoCurso = unidadeStats.getCodigoCurso();
        aux.nomeCurso = unidadeStats.getNomeCurso();
        aux.codigoEscola = unidadeStats.getCodigoEscola();
        aux.nomeEscola = unidadeStats.getNomeEscola();
        aux.codigoUnidade = unidadeStats.getCodigoUnidade();
        aux.nomeUnidade = unidadeStats.getNomeUnidade();
        aux.semestre = unidadeStats.getSemestre();
        aux.difMedia = ps.getMediaEntidadeEmAvaliacao() - ps.getMediaCursos();
        perguntas.add(aux);
    }

    public static class PerguntaUnidadeStatAux
    {

        public 1.5.0/docs/api/java/lang/String.html">String nomeUnidade;
        public 1.5.0/docs/api/java/lang/String.html">String codigoUnidade;
        public 1.5.0/docs/api/java/lang/String.html">String codigoCurso;
        public 1.5.0/docs/api/java/lang/String.html">String nomeCurso;
        public 1.5.0/docs/api/java/lang/String.html">String codigoEscola;
        public 1.5.0/docs/api/java/lang/String.html">String nomeEscola;
        public 1.5.0/docs/api/java/lang/String.html">String semestre;

        public PerguntaStats pergunta;

        public double difMedia;
    }

    /**************************************************
     * *****     EXTREME AGREGADAS MEDIAS CALCULATIONS     *****
     * ************************************************/


    public PerguntaStats extremeDocentePerguntaAgregadasMax()
    {
        List<PerguntaStats> perguntas = getPerguntasAgregadasStatsSorted();
        if(perguntas.size() > 0)
            return perguntas.get(0);
        return null;
    }

    public PerguntaStats extremeDocentePerguntaAgregadasMin()
    {
        List<PerguntaStats> perguntas = getPerguntasAgregadasStatsSorted();
        if(perguntas.size() > 0)
            return perguntas.get(perguntas.size()-1);
        return null;
    }

    private  List<PerguntaStats> getPerguntasAgregadasStatsSorted() {
        List<PerguntaStats> perguntas = getRespostasAgregadasGrupoDocente().getPerguntasStats();
        sortPerguntasStatsMedia(perguntas);
        return perguntas;
    }

    public PerguntaStats extremeUnidadePerguntaAgregadaMax()
    {
        List<PerguntaStats> perguntas = getPerguntasUnidadesAgregadasStatsSorted();
        if(perguntas.size() > 0)
            return perguntas.get(0);
        return null;
    }

    public PerguntaStats extremeUnidadePerguntaAgregadaMin()
    {
        List<PerguntaStats> perguntas = getPerguntasUnidadesAgregadasStatsSorted();
        if(perguntas.size() > 0)
            return perguntas.get(perguntas.size()-1);
        return null;
    }

    private List<PerguntaStats> getPerguntasUnidadesAgregadasStatsSorted() {
        List<PerguntaStats> perguntas = getRespostasAgregadasGrupoUnidade().getPerguntasStats();
        sortPerguntasStatsMedia(perguntas);
        return perguntas;
    }

    private void sortPerguntasStatsMedia(List<PerguntaStats> perguntas) {
        1.5.0/docs/api/java/util/Collections.html">Collections.sort(perguntas, new Comparator<PerguntaStats>() {
            @1.5.0/docs/api/java/lang/Override.html">Override
            public int compare(PerguntaStats o1, PerguntaStats o2) {
                double diff = o2.getMediaEntidadeEmAvaliacao() - o1.getMediaEntidadeEmAvaliacao();
                if (diff < 0) return -1;
                if (diff > 0) return 1;
                return 0;
            }
        });
    }


    /**************************************************
     * *****     EXTREME UNIDADE MEDIAS CALCULATIONS     *****
     * ************************************************/

    public UnidadeStats extremeDocenteUnidadeMax()
    {
        List<UnidadeStats> unidadeStatses = getUnidadeStatsesDocenteSortedMedia();
        if(unidadeStatses.size() > 0)
            return unidadeStatses.get(0);
        return null;
    }

    public UnidadeStats extremeDocenteUnidadeMin()
    {
        List<UnidadeStats> unidadeStatses = getUnidadeStatsesDocenteSortedMedia();
        if(unidadeStatses.size() > 0)
            return unidadeStatses.get(unidadeStatses.size()-1);
        return null;
    }

    public UnidadeStats extremeUnidadeUnidadeMax()
    {
        List<UnidadeStats> unidadeStatses = getUnidadeStatsesUnidadeSortedMedia();
        if(unidadeStatses.size() > 0)
            return unidadeStatses.get(0);
        return null;
    }

    public  UnidadeStats extremeUnidadeUnidadeMin()
    {
        List<UnidadeStats> unidadeStatses = getUnidadeStatsesUnidadeSortedMedia();
        if(unidadeStatses.size() > 0)
            return unidadeStatses.get(unidadeStatses.size()-1);
        return null;
    }

    private  List<UnidadeStats> getUnidadeStatsesUnidadeSortedMedia() {
        List<UnidadeStats> unidadeStatses = getUnidadesStats();
        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) {
                double diff = o2.getUnidadeStatsGrupoUnidade().getMediasGrupo().getAvaliacaoMedia() - o1.getUnidadeStatsGrupoUnidade().getMediasGrupo().getAvaliacaoMedia();
                if (diff < 0)
                    return -1;
                if (diff > 0)
                    return 1;
                return 0;
            }
        });
        return unidadeStatses;
    }

    private  List<UnidadeStats> getUnidadeStatsesDocenteSortedMedia() {
        List<UnidadeStats> unidadeStatses = getUnidadesStats();
        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) {
                double diff = o2.getUnidadeStatsGrupoDocente().getMediasGrupo().getAvaliacaoMedia() - o1.getUnidadeStatsGrupoDocente().getMediasGrupo().getAvaliacaoMedia();
                if (diff < 0)
                    return -1;
                if (diff > 0)
                    return 1;
                return 0;
            }
        });
        return unidadeStatses;
    }

    /**************************************************
     * *****     EXTREME Participacao Unidades     *****
     * ************************************************/


    public  ParticipacaoUnidade extremeParticipacaoUnidadeMax()
    {
        List<ParticipacaoUnidade> participacoes = getParticipacaoUnidadesSortedPercentagem();
        if(participacoes.size() > 0)
            return participacoes.get(0);
        return null;
    }

    public  ParticipacaoUnidade extremeParticipacaoUnidadeMin()
    {
        List<ParticipacaoUnidade> participacoes = getParticipacaoUnidadesSortedPercentagem();
        if(participacoes.size() > 0)
            return participacoes.get(participacoes.size()-1);
        return null;
    }

    private List<ParticipacaoUnidade> getParticipacaoUnidadesSortedPercentagem() {
        List<ParticipacaoUnidade> participacoes = getParticipacoesUnidades();
        1.5.0/docs/api/java/util/Collections.html">Collections.sort(participacoes, new Comparator<ParticipacaoUnidade>() {
            @1.5.0/docs/api/java/lang/Override.html">Override
            public int compare(ParticipacaoUnidade o1, ParticipacaoUnidade o2) {
                return o2.getRespostasPercentagem() - o1.getRespostasPercentagem();
            }
        });
        return participacoes;
    }


    /**********************************
     *    EXTREME DIFF MEDIA
     **********************************/


    public PerguntaUnidadeStatAux extremeDiffMediaPerguntaMaxDocente()
    {
        List<PerguntaUnidadeStatAux> perguntas = new ArrayList<PerguntaUnidadeStatAux>();
        for(UnidadeStats unidadeStats : unidadesStats)
        {
            for(PerguntaStats ps : unidadeStats.getUnidadeStatsGrupoDocente().getPerguntasStats())
            {
                cloneAndAddPerguntaAuxToList(perguntas, unidadeStats, ps);
            }
        }
        sortPerguntaAuxDiffMediaCursos(perguntas);
        if(perguntas.size() > 0)
            return perguntas.get(0);
        return null;
    }

    public PerguntaUnidadeStatAux extremeDiffMediaPerguntaMinDocente()
    {
        List<PerguntaUnidadeStatAux> perguntas = new ArrayList<PerguntaUnidadeStatAux>();
        for(UnidadeStats unidadeStats : unidadesStats)
        {
            for(PerguntaStats ps : unidadeStats.getUnidadeStatsGrupoDocente().getPerguntasStats())
            {
                cloneAndAddPerguntaAuxToList(perguntas, unidadeStats, ps);
            }
        }
        sortPerguntaAuxDiffMediaCursos(perguntas);
        if(perguntas.size() > 0)
            return perguntas.get(perguntas.size()-1);
        return null;
    }

    public PerguntaUnidadeStatAux extremeDiffMediaPerguntaMaxUnidade()
    {
        List<PerguntaUnidadeStatAux> perguntas = new ArrayList<PerguntaUnidadeStatAux>();
        for(UnidadeStats unidadeStats : unidadesStats)
        {
            for(PerguntaStats ps : unidadeStats.getUnidadeStatsGrupoUnidade().getPerguntasStats())
            {
                cloneAndAddPerguntaAuxToList(perguntas, unidadeStats, ps);
            }
        }
        sortPerguntaAuxDiffMediaCursos(perguntas);
        if(perguntas.size() > 0)
            return perguntas.get(0);
        return null;
    }

    public  PerguntaUnidadeStatAux extremeDiffMediaPerguntaMinUnidade()
    {
        List<PerguntaUnidadeStatAux> perguntas = new ArrayList<PerguntaUnidadeStatAux>();
        for(UnidadeStats unidadeStats : unidadesStats)
        {
            for(PerguntaStats ps : unidadeStats.getUnidadeStatsGrupoUnidade().getPerguntasStats())
            {
                cloneAndAddPerguntaAuxToList(perguntas, unidadeStats, ps);
            }
        }
        sortPerguntaAuxDiffMediaCursos(perguntas);
        if(perguntas.size() > 0)
            return perguntas.get(perguntas.size()-1);
        return null;
    }

    private  void sortPerguntaAuxDiffMediaCursos(List<PerguntaUnidadeStatAux> perguntas) {
        1.5.0/docs/api/java/util/Collections.html">Collections.sort(perguntas, new Comparator<PerguntaUnidadeStatAux>() {
            @1.5.0/docs/api/java/lang/Override.html">Override
            public int compare(PerguntaUnidadeStatAux o1, PerguntaUnidadeStatAux o2) {
                double diff = o2.difMedia - o1.difMedia;
                if (diff < 0) return -1;
                if (diff > 0) return 1;
                return 0;
            }
        });
    }
}