Subversion Repositories bacoAlunos

Compare Revisions

Ignore whitespace Rev 1421 → Rev 1422

/branches/v3/impl/conf/language/MessageResources.properties
387,8 → 387,8
authenticate.blocked=O seu usuário está bloqueado pelo sistema. Para mais informações contacte o Centro Informático.
username=Nome de Utilizador
password=Palavra Passe
username.pae=<label class="label label-primary" style="font-size:1.1em">Número de Aluno / Docente</label>
password.pae=<label class="label label-info" style="font-size:1.3em">Número</label> do <label class="label label-success" style="font-size:1.5em">Cartão de Cidadão</label> <label class="label label-info" style="font-size:1.2em">ou bilhete de identidade</label>
username.pae=<label class="label label-primary" style="font-size:1.2em">Número de Aluno / Docente</label>
password.pae=<label class="label label-info" style="font-size:1.2em">Número</label> do <label class="label label-info" style="font-size:1.2em">Cartão de Cidadão</label> <label class="label label-info" style="font-size:1.2em">ou bilhete de identidade</label>
password.again=Repita a password
submit=Entrar
edit=Editar
/branches/v3/impl/src/java/pt/estgp/estgweb/services/sigesimports/oracle/dao/DisciplinaDao.java
4,6 → 4,7
import pt.estgp.estgweb.services.sigesimports.oracle.domain.Disciplina;
import pt.estgp.estgweb.services.sigesimports.oracle.domain.TipologiasHorario;
import pt.estgp.estgweb.services.sigesimports.oracle.domain.TipologiasSumario;
import pt.estgp.estgweb.services.sigesimports.oracle.domain.TipologiasTurma;
 
import java.sql.Connection;
import java.sql.PreparedStatement;
121,6 → 122,7
d.setTipologiasHorario(loadTipologiasHorario(ano,semestre,d.getCodigoCurso(),d.getCodigo(),conn));
d.setTipologiasSumario(loadTipologiasSumarios(ano,semestre,d.getCodigoCurso(),d.getCodigo(),conn));
d.setTipologiasHorarioTrabalho(loadTipologiasHorarioTrabalho(ano,semestre,d.getCodigoCurso(),d.getCodigo(),conn));
d.setTipologiasTdocTurma(loadTipologiasTdocTurma(codigoInstituicao, ano, semestre, d.getCodigoCurso(), d.getCodigo(), conn));
disciplinas.add(d);
}
//close the reader
193,7 → 195,10
ps.close();
return tipologiasHorario;
}
 
 
private TipologiasSumario loadTipologiasSumarios(String ano,
String semestre,
Integer codigoCurso,
356,5 → 361,46
ps.close();
return tipologiasSumario;
}
 
 
 
private TipologiasTurma loadTipologiasTdocTurma(Integer codigoInstituicao,
String ano,
String semestre,
Integer codigoCurso,
Integer codigoDisciplina,
Connection conn) throws SQLException {
TipologiasTurma tipologiasTurma = new TipologiasTurma();
tipologiasTurma.setTipologias(new ArrayList<TipologiasTurma.TipologiaTurma>());
 
PreparedStatement queryTurmas = conn.prepareStatement
("SELECT DISTINCT CSD.T_DOC_TURMA.CD_DOCENTE AS CD_DOCENTE, CSD.T_DOC_TURMA.CD_TURMA AS CD_TURMA " +
" FROM (CSD.T_DOC_TURMA " +
" INNER JOIN CSE.T_TBDISCIP ON CSE.T_TBDISCIP.CD_DISCIP = CSD.T_DOC_TURMA.CD_DISCIP) " +
" WHERE " +
" CSE.T_TBDISCIP.CD_DISCIP = " + codigoDisciplina + " " +
" AND CSD.T_DOC_TURMA.CD_CURSO = '" + codigoCurso + "'" +
" AND CSD.T_DOC_TURMA.CD_DURACAO = '" + semestre + "'" +
" AND CSD.T_DOC_TURMA.CD_LECTIVO='" + ano + "'" +
" AND CSE.T_TBDISCIP.CD_INSTITUIC=" + codigoInstituicao + " "
);
ResultSet turmas = queryTurmas.executeQuery();
while(turmas.next())
{
TipologiasTurma.TipologiaTurma th = new TipologiasTurma.TipologiaTurma();
th.setCdTurma(getString("CD_TURMA",turmas));
th.setCdDocente(getDecimal("CD_DOCENTE", turmas));
if(th.getCdTurma() != null && th.getCdDocente() > 0)
tipologiasTurma.getTipologias().add(th);
else
logger.error("Tipologia invalida encontrada na disciplina: (" + codigoDisciplina + "): " + th.toString());
 
}
turmas.close();
queryTurmas.close();
 
 
return tipologiasTurma;
}
}
 
/branches/v3/impl/src/java/pt/estgp/estgweb/services/sigesimports/oracle/dao/DocenteDao.java
205,6 → 205,26
//d.cdTipologia = getDecimal("CD_TIPO_AULA", aReader);
//d.codigoFuncaoDocente = getDecimal("CD_FUNCAO_DOC",aReader);
disciplinas.add(d);
 
PreparedStatement queryTurmas = conn.prepareStatement
("SELECT DISTINCT CSD.T_DOC_TURMA.CD_TURMA AS CD_TURMA " +
" FROM (CSD.T_DOC_TURMA " +
" INNER JOIN CSE.T_TBDISCIP ON CSE.T_TBDISCIP.CD_DISCIP = CSD.T_DOC_TURMA.CD_DISCIP) " +
" WHERE " +
" CSE.T_TBDISCIP.CD_DISCIP = " + d.codigo + " " +
" AND CSD.T_DOC_TURMA.CD_CURSO = '" + d.codigoCurso + "'" +
" AND CSD.T_DOC_TURMA.CD_DURACAO = '" + d.cdDuracao + "'" +
" AND CSD.T_DOC_TURMA.CD_LECTIVO='" + ano + "'" +
" AND CSE.T_TBDISCIP.CD_INSTITUIC=" + codigoInstituicao + " " +
" AND CSD.T_DOC_TURMA.CD_DOCENTE = " + codigo );
ResultSet turmas = queryTurmas.executeQuery();
while(turmas.next())
{
d.turmasDocente.add(turmas.getString("CD_TURMA"));
}
turmas.close();
queryTurmas.close();
 
}
//close the reader
aReader.close();
/branches/v3/impl/src/java/pt/estgp/estgweb/services/sigesimports/oracle/domain/Disciplina.java
1,5 → 1,7
package pt.estgp.estgweb.services.sigesimports.oracle.domain;
 
import java.util.ArrayList;
 
/**
* Created by jorgemachado on 07/01/16.
*/
16,7 → 18,9
public String outraTurma;
public String outraTurmaCode;
 
public ArrayList<String> turmasDocente = new ArrayList<String>();
 
 
public String nome;
public String nomeCurso;
public String grauCurso;
59,12 → 63,22
public TipologiasHorario tipologiasHorario;
public TipologiasSumario tipologiasSumario;
public TipologiasSumario tipologiasHorarioTrabalho;
public TipologiasTurma tipologiasTdocTurma;
 
public Disciplina()
{
 
}
 
 
public TipologiasTurma getTipologiasTdocTurma() {
return tipologiasTdocTurma;
}
 
public void setTipologiasTdocTurma(TipologiasTurma tipologiasTdocTurma) {
this.tipologiasTdocTurma = tipologiasTdocTurma;
}
 
public void setCodigo(Integer codigo) {
this.codigo = codigo;
}
219,4 → 233,6
", cdTipologia=" + cdTipologia +
'}';
}
 
 
}
/branches/v3/impl/src/java/pt/estgp/estgweb/services/sigesimports/oracle/domain/TipologiasTurma.java
New file
0,0 → 1,52
package pt.estgp.estgweb.services.sigesimports.oracle.domain;
 
import java.util.ArrayList;
 
/**
* Created by jorgemachado on 08/03/16.
*/
public class TipologiasTurma
{
 
private ArrayList<TipologiaTurma> tipologias;
 
public ArrayList<TipologiaTurma> getTipologias()
{
return tipologias;
}
 
public void setTipologias(ArrayList<TipologiaTurma> tipologias) {
this.tipologias = tipologias;
}
 
public static class TipologiaTurma
{
String cdTurma;
Integer cdDocente;
 
public String getCdTurma() {
return cdTurma;
}
 
public void setCdTurma(String cdTurma) {
this.cdTurma = cdTurma;
}
 
public Integer getCdDocente() {
return cdDocente;
}
 
public void setCdDocente(Integer cdDocente) {
this.cdDocente = cdDocente;
}
 
 
@Override
public String toString() {
return "TipologiaHorario{" +
"cdTurma='" + cdTurma + '\'' +
", cdDocente=" + cdDocente +
'}';
}
}
}
/branches/v3/impl/src/java/pt/estgp/estgweb/services/sigesimports/ImportCourseService.java
19,6 → 19,7
import pt.estgp.estgweb.services.sigesimports.oracle.domain.Disciplina;
import pt.estgp.estgweb.services.sigesimports.oracle.domain.TipologiasHorario;
import pt.estgp.estgweb.services.sigesimports.oracle.domain.TipologiasSumario;
import pt.estgp.estgweb.services.sigesimports.oracle.domain.TipologiasTurma;
import pt.estgp.estgweb.utils.ConfigProperties;
import pt.estgp.estgweb.utils.Email;
import pt.utl.ist.berserk.logic.serviceManager.IService;
453,6 → 454,18
if(t == null)
t = new CourseUnitImpl.Tipologias();
 
t.setTipologiasTdocTurma(new ArrayList<CourseUnitImpl.Tipologia>());
for(TipologiasTurma.TipologiaTurma tipologiaTurma : d.getTipologiasTdocTurma().getTipologias())
{
CourseUnitImpl.Tipologia tipoSum = new CourseUnitImpl.Tipologia();
tipoSum.setOcorrencias(1);
tipoSum.setDsTipologia("Aulas");
tipoSum.setCdTurma(tipologiaTurma.getCdTurma());
tipoSum.setCdDocente("" + tipologiaTurma.getCdDocente());
tipoSum.setCdTipologia("1");
tipoSum.setTdocturma(true);
t.getTipologiasTdocTurma().add(tipoSum);
}
t.setTipologiasSumarios(new ArrayList<CourseUnitImpl.Tipologia>());
for(TipologiasSumario.TipologiaSumario tipologiaSumario : d.getTipologiasSumario().getTipologias())
{
/branches/v3/impl/src/java/pt/estgp/estgweb/services/questionarios/pedagogico/AnswersAlunosProcessor.java
9,13 → 9,9
import pt.estgp.estgweb.services.logresults.LogMessageTypeEnum;
import pt.estgp.estgweb.services.logresults.impl.DefaultLogMessage;
import pt.estgp.estgweb.services.logresults.impl.DefaultLogMessages;
import pt.estgp.estgweb.services.sigesimports.ImportCourseService;
import pt.estgp.estgweb.web.exceptions.NotAuthorizedException;
 
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
 
 
/**
130,16 → 126,16
CourseUnitImpl cuImpl = (CourseUnitImpl) DaoFactory.getCourseUnitDaoImpl().narrow(unidadeCurricularAfeta.getCourseUnit());
CourseImpl courseImpl = (CourseImpl) DaoFactory.getCourseDaoImpl().narrow(unidadeCurricularAfeta.getCourseUnit().getCourse());
 
boolean separateTurmas = false;
try{
separateTurmas = ImportCourseService.loadCourseYearTurmasPolicy(Integer.parseInt(unidadeCurricularAfeta.getCursoAfeto().getCodigoCurso()), q.getYear(), logMessages, this);
}catch(Throwable e)
{
msg = "!!! Código de Curso inválido a tentar verificar politica de turmas separadas, vai assumir falso";
serviceLogError(msg);
logger.error(msg);
logMessages.addMessage(new DefaultLogMessage("questionario.answers.assigning", LogMessageTypeEnum.ERROR,msg));
}
//boolean separateTurmas = false;
//try{
// separateTurmas = ImportCourseService.loadCourseYearTurmasPolicy(Integer.parseInt(unidadeCurricularAfeta.getCursoAfeto().getCodigoCurso()), q.getYear(), logMessages, this);
//}catch(Throwable e)
//{
// msg = "!!! Código de Curso inválido a tentar verificar politica de turmas separadas, vai assumir falso";
// serviceLogError(msg);
// logger.error(msg);
// logMessages.addMessage(new DefaultLogMessage("questionario.answers.assigning", LogMessageTypeEnum.ERROR,msg));
//}
unidadesUtilizadas++;
verificaAlertasUnidade(logMessages, unidadeCurricularAfeta);
List<CourseUnitImpl.Tipologia> tipologias;
166,33 → 162,53
}
}
 
Map<String,Teacher> professoresEsperados = new HashMap<String, Teacher>();
for(Teacher t: cuImpl.getTeachers()) { professoresEsperados.put(t.getSigesCode() + "", t); }
for(CourseUnitImpl.Tipologia tMerge: tipologias) { professoresEsperados.remove(tMerge.getCdDocente()); }
 
if(separateTurmas)
/**
* Iterar as tipologias e tentar criar com as turmas e os docentes
* Os que não derem resultados devolvem falso e são retirados da lista
* A verificação do falso é feita sempre que uma turma falhe a abrir ou tenha zero alunos
*/
Iterator<CourseUnitImpl.Tipologia> iterTipologias = tipologias.iterator();
while(iterTipologias.hasNext())
{
if(professoresEsperados.size() > 0)
CourseUnitImpl.Tipologia tipologia = iterTipologias.next();
boolean criada = criarTipologiasRequisitadas(logMessages, q, (QuestionarioPedagogicoUnidadeCurricularAfetaImpl) unidadeCurricularAfeta, (QuestionarioPedagogicoCursoAfetoImpl)cu, cuImpl, tipologia);
if(criada)
{
msg = "!!! Unidade de um curso de turmas separadas, vamos usar apenas as tipologias para atribuir respostas, não vamos adicionar professores que não sumariaram";
serviceLogWarn(msg);
logger.warn(msg);
logMessages.addMessage(new DefaultLogMessage("questionario.answers.assigning", LogMessageTypeEnum.WARNING,msg));
((QuestionarioPedagogicoUnidadeCurricularAfetaImpl)unidadeCurricularAfeta).incStatTipologiasRequisitadas();
((QuestionarioPedagogicoCursoAfetoImpl)cu).incStatTipologiasRequisitadas();
}
else
{
iterTipologias.remove();
}
}
else
 
//CASO ALGUM TENHA FALHADO VAMOS ENTAO ADICIONA-LOS AS TURMAS TODAS
//OU NAO TENHA VINDO TIPOLOGIA PARA ELE
//todo ESTE PROBLEMA DEVE SER RESOLVIDO COM A ADICAO DE TIPOLOGIAS SIMPLES PARA AS ASSOCIACOES
//todo T_DOC_TURMA Mudar no DisciplinaDao na importação de cursos
Map<String,Teacher> professoresEsperados = new HashMap<String, Teacher>();
for(Teacher t: cuImpl.getTeachers())
{
//Lista de Professores para ir removendo à medida que sao usados para no final confirmar se algum
//não tinha tipologia vamos coloca-lo manualmente
List<CourseUnitImpl.Tipologia> tipologiasEmFalta = criarTipologiasRequisitadasSimplesParaProfsForaDasTurmasPorFaltaDeSumarios(logMessages, q, unidadeCurricularAfeta, cuImpl, professoresEsperados);
tipologias.addAll(tipologiasEmFalta);
professoresEsperados.put(t.getSigesCode() + "", t);
}
 
for(CourseUnitImpl.Tipologia tMerge: tipologias)
{
professoresEsperados.remove(tMerge.getCdDocente());
}
List<CourseUnitImpl.Tipologia> tipologiasEmFalta = criarTipologiasRequisitadasSimplesParaProfsForaDasTurmasPorFaltaDeSumarios(logMessages, q, unidadeCurricularAfeta, cuImpl, professoresEsperados);
//tipologias.addAll(tipologiasEmFalta);
 
for(CourseUnitImpl.Tipologia emFalta: tipologiasEmFalta)
{
msg = "Criando tipologia em falta (docente:" + emFalta.getCdDocente() + ", turma: " + emFalta.getCdTurma() + ") para a unidade: " + unidadeCurricularAfeta.getCodigoUnidade() + " " + unidadeCurricularAfeta.getNome() + " do curso de " + unidadeCurricularAfeta.getCursoAfeto().getNome() + "(" + unidadeCurricularAfeta.getCursoAfeto().getCodigoCurso() +")";
serviceLogWarn(msg);
logger.warn(msg);
logMessages.addMessage(new DefaultLogMessage("questionario.answers.assigning", LogMessageTypeEnum.WARNING,msg));
((QuestionarioPedagogicoUnidadeCurricularAfetaImpl)unidadeCurricularAfeta).incStatTipologiasRequisitadas();
((QuestionarioPedagogicoCursoAfetoImpl)cu).incStatTipologiasRequisitadas();
criarTipologiasRequisitadas(logMessages, q, (QuestionarioPedagogicoUnidadeCurricularAfetaImpl) unidadeCurricularAfeta, (QuestionarioPedagogicoCursoAfetoImpl)cu, cuImpl, tMerge);
criarTipologiasRequisitadas(logMessages, q, (QuestionarioPedagogicoUnidadeCurricularAfetaImpl) unidadeCurricularAfeta, (QuestionarioPedagogicoCursoAfetoImpl)cu, cuImpl, emFalta);
}
 
}
271,7 → 287,17
return tipologias;
}
 
private void criarTipologiasRequisitadas(DefaultLogMessages logMessages,
/**
* Devolve true se conseguiu criar pelo menos uma resposta a um aluno caso contrario a turma pode não existir ou ser lixo
* @param logMessages
* @param q
* @param unidadeCurricularAfeta
* @param cursoAfeto
* @param cuImpl
* @param tMerge
* @return
*/
private boolean criarTipologiasRequisitadas(DefaultLogMessages logMessages,
QuestionarioImpl q,
QuestionarioPedagogicoUnidadeCurricularAfetaImpl unidadeCurricularAfeta,
QuestionarioPedagogicoCursoAfetoImpl cursoAfeto,
298,7 → 324,7
tipo.setDocenteAfeto(tMergePersistente.getTeacher());
tipo.setTurmaAfeta(tMergePersistente.getCourseUnitTurma());
DaoFactory.getQuestionarioPedagogicoTipologiaRequisitadaDaoImpl().save(tipo);
criarAlunosRequisitados(q, tipo, tMergePersistente.getCourseUnitTurma(),unidadeCurricularAfeta,cursoAfeto);
return criarAlunosRequisitados(q, tipo, tMergePersistente.getCourseUnitTurma(),unidadeCurricularAfeta,cursoAfeto);
}
catch(CourseUnitImpl.TipologiaLoadExeption exp)
{
306,6 → 332,7
serviceLogError(msg);
logger.error(msg);
logMessages.addMessage(new DefaultLogMessage("questionario.answers.assigning", LogMessageTypeEnum.ERROR,msg));
return false;
}
 
 
314,16 → 341,26
//unidade afeta a unidade e o curso
//apresenta o questionario com o id da resposta requisitada
 
}
}
return false;
}
 
private void criarAlunosRequisitados(QuestionarioImpl q,
/**
* Return true se encotrou pelo menos um aluno
* @param q
* @param tipo
* @param turma
* @param unidadeAfeta
* @param cursoAfeto
* @return
*/
private boolean criarAlunosRequisitados(QuestionarioImpl q,
QuestionarioPedagogicoTipologiaRequisitadaImpl tipo,
CourseUnitTurma turma,
QuestionarioPedagogicoUnidadeCurricularAfetaImpl unidadeAfeta,
QuestionarioPedagogicoCursoAfetoImpl cursoAfeto)
{
if(turma.getStudents() != null)
if(turma.getStudents() != null && turma.getStudents().size()>0)
{
for(Student s: turma.getStudents())
{
341,7 → 378,9
DaoFactory.getQuestionarioPedagogicoAlunoRequisitadoDaoImpl().save(alunoRequisitado);
respostasRequisitadas++;
}
return true;
}
return false;
}
 
private void verificaAlertasUnidade(DefaultLogMessages logMessages, QuestionarioPedagogicoUnidadeCurricularAfeta unidadeCurricularAfeta) {
/branches/v3/impl/src/java/pt/estgp/estgweb/domain/CourseUnitImpl.java
669,7 → 669,16
 
protected boolean extra;
protected boolean horRef;
protected boolean tdocturma = false;
 
public boolean isTdocturma() {
return tdocturma;
}
 
public void setTdocturma(boolean tdocturma) {
this.tdocturma = tdocturma;
}
 
public boolean isUse() {
return use;
}
803,7 → 812,14
ArrayList<Tipologia> tipologiasExtraAdicionadas = new ArrayList<Tipologia>();
ArrayList<Tipologia> tipologiasUsadas = new ArrayList<Tipologia>();
ArrayList<Tipologia> tipologiasMarcadas = new ArrayList<Tipologia>();
ArrayList<Tipologia> tipologiasTdocTurma = new ArrayList<Tipologia>();
 
public ArrayList<Tipologia> getTipologiasTdocTurma() {
return tipologiasTdocTurma == null ? new ArrayList<Tipologia>() : tipologiasTdocTurma;
}
 
public void setTipologiasTdocTurma(ArrayList<Tipologia> tipologiasTdocTurma) { this.tipologiasTdocTurma = tipologiasTdocTurma; }
 
public ArrayList<Tipologia> getTipologiasHorarioReferencia() {
 
return tipologiasHorarioReferencia == null ? new ArrayList<Tipologia>() : tipologiasHorarioReferencia;
850,11 → 866,13
.include("tipologiasHorarioReferencia", Tipologias.class)
.include("tipologiasUsadas", Tipologias.class)
.include("tipologiasMarcadas", Tipologias.class)
.include("tipologiasTdocTurma", Tipologias.class)
.include("cdTipologia", Tipologia.class)
.include("cdDocente", Tipologia.class)
.include("cdTurma", Tipologia.class)
.include("dsTipologia",Tipologia.class)
.include("ocorrencias", Tipologia.class)
.include("tdocturma", Tipologia.class)
.create();
return genson;
}
872,6 → 890,7
.include("horRef", Tipologia.class)
.include("extra", Tipologia.class)
.include("use", Tipologia.class)
.include("tdocturma", Tipologia.class)
.include("markWarning", Tipologia.class)
.create();
return genson;
1011,6 → 1030,18
}
}
}
if(getTipologiasTdocTurma() != null)
for(Tipologia t: getTipologiasTdocTurma())
{
for(Tipologia tMerge: merge)
{
if(tMerge.equals(t))
{
tMerge.setUse(true);
break;
}
}
}
return merge;
}
 
1031,6 → 1062,7
fullfillTipologiasSimples(getTipologiasHorarioReferencia(), docenteTurmas);
fullfillTipologiasSimples(getTipologiasMarcadas(), docenteTurmas);
fullfillTipologiasSimples(getTipologiasUsadas(), docenteTurmas);
fullfillTipologiasSimples(getTipologiasTdocTurma(), docenteTurmas);
 
 
if(docenteTurmas.size() == 0)
1097,12 → 1129,16
simples.setOcorrencias(tipo.getOcorrencias());
}
turmasDocente.put(tipo.getCdTurma(),simples);
if(tipo.isTdocturma())
simples.setTdocturma(true);
}
else if(tipo.hasOcorrencias())
{
if(simples.getOcorrencias() == null)
simples.setOcorrencias(0);
simples.setOcorrencias(simples.getOcorrencias()+tipo.getOcorrencias());
if(tipo.isTdocturma())
simples.setTdocturma(true);
}
 
}
/branches/v3/impl/src/doc/BacoV32016/processos/QuestionariosAccess/scriptMdbToolsExportMdbMySql.rtf
13,4 → 13,6
ESCOLHER APENAS AS TABELAS DESEJADAS\
\
\
mdb-export -I mysql inquerito_final.mdb INQUERITO | mysql -uroot inqueritos_201415_S2}
mdb-export -I mysql inquerito_final.mdb INQUERITO | mysql -uroot inqueritos_201415_S2\
\
}
/branches/v3/impl/src/web/user/questionarios/pedagogicoEstudante/pedagogicoCourseCheckUnidadeAfeta.jsp
33,17 → 33,26
tipologias = courseUnit.getTipologiasClass().obtainTipologiasSimples(courseUnit);
}
request.setAttribute("tipologias",tipologias);
 
if(tipologias.size() == 0)
{
%>
<div class="alert alert-warning">Não existem quaisquer tipologias sumariadas ou Turmas Associadas a docentes nesta unidade</div>
<%
}
else
{
%>
<%=tipologias.size()%>
<table class="tablesorterfiltered">
<thead>
<tr>
<th class="filter-name filter-select">Código Docente</th>
<th class="filter-name filter-select">Docente</th>
<th class="filter-name filter-select">Tipologia</th>
<th>Sumariadas</th>
<th class="filter-name filter-select">Tipol.</th>
<th>Sumar.</th>
<th class="filter-name filter-select">Turma</th>
<th>Estudantes</th>
<th>Alunos</th>
<th>Tip. TDoc. Turma</th>
<th>Tip. Manual</th>
<th>Tip. Horário Ref.</th>
<th>Tip. Sumário</th>
57,6 → 66,8
{
CourseUnitImpl.TipologiaPersistent tipoPersistente = courseUnit.loadPersistent(tipologia);
request.setAttribute("tipoPersistente",tipoPersistente);
if(tipoPersistente.getCourseUnitTurma().getStudents().size() > 0)
{
%>
<tr>
<td>${tipologia.cdDocente}</td>
70,6 → 81,11
</a>
</td>
<td>
<logic:equal value="true" name="tipologia" property="tdocturma">
<span class="glyphicon glyphicon-asterisk"></span>
</logic:equal>
</td>
<td>
<logic:equal value="true" name="tipologia" property="extra">
<span class="glyphicon glyphicon-asterisk"></span>
</logic:equal>
93,14 → 109,27
</td>
</tr>
<%
}
}
catch(CourseUnitImpl.TipologiaLoadExeption exp)
{
unidade.setMarked(true);
 
String errorMsg = "Tipologia falhou " + exp.getMessage() + " nesta unidade, possivelmente foi devida a sumários de uma turma paralela noutro curso Verificar: " + tipologia.getCdTurma() + " verificar se esta turma ou par sua têm curso associado. "
+ tipologia.getCdDocente() + " " + tipologia.getDsTipologia();
if(unidade.getObs() != null && unidade.getObs().indexOf("Tipologia inexistente")<0)
((QuestionarioPedagogicoUnidadeCurricularAfetaImpl)unidade).addObs(
"Tipologia falhou " + exp.getMessage() + " nesta unidade, possivelmente foi devida a sumários de uma turma paralela noutro curso Verificar: " + tipologia.getCdTurma() + " verificar se esta turma ou par sua têm curso associado. "
+ tipologia.getCdDocente() + " " + tipologia.getDsTipologia());
errorMsg);
 
%>
<tr>
<td colspan="11">
<div class="alert alert-warning">Existe uma tipologias sumariadas ou Turmas Associadas mas a turma ou o docente falharam o load:
<%=errorMsg%>
</div>
</td>
</tr>
<%
%>
<script>
$(document).ready(
149,9 → 178,8
</logic:iterate>
</tbody>
</table>
 
 
<%
}
//DaoFactory.getQuestionarioPedagogicoUnidadeCurricularAfetaDaoImpl().evict(unidade);
AbstractDao.getCurrentSession().getTransaction().commit();
 
/branches/v3/impl/src/web/user/questionarios/pedagogicoEstudante/pedagogicoCourseCheckCursoAfeto.jsp
130,8 → 130,8
<th>Alunos OK</th>
<th>Profs OK</th>
<th>Obs.</th>
<th data-toggle="tooltip" data-placement="top" title="Tipologias Requisitadas para Responder">TipReq</th>
<th data-toggle="tooltip" data-placement="top" title="Respostas Requisitadas para Responder">RespReq</th>
<th data-toggle="tooltip" data-placement="top" title="Tipologias Requisitadas para Responder">Tip. Req</th>
<th data-toggle="tooltip" data-placement="top" title="Respostas Requisitadas para Responder">Resp. Req</th>
</tr>
</thead>
<tbody>
274,7 → 274,7
</tr>
<tr class="collapse" id="tipologias${unidade.id}">
<td></td>
<td colspan="12" class="tipologias" style="padding-left: 25px">
<td colspan="14" class="tipologias" style="padding-left: 25px">
 
<div class="panel panel-default">
<div class="panel-body">
/branches/v3/impl/src/web/user/questionarios/pedagogicoEstudante/pedagogicoEstudanteCoursesCheck.jsp
322,10 → 322,10
<th>Check Alunos</th>
<th>Check Profs</th>
<th>Não Usadas</th>
<th>Observadas</th>
<th>Obses.</th>
<th>Turmas</th>
<th data-toggle="tooltip" data-placement="top" title="Tipologias Requisitadas para Responder">TipReq</th>
<th data-toggle="tooltip" data-placement="top" title="Respostas Requisitadas para Responder">RespReq</th>
<th data-toggle="tooltip" data-placement="top" title="Tipologias Requisitadas para Responder">Tip. Req</th>
<th data-toggle="tooltip" data-placement="top" title="Respostas Requisitadas para Responder">Resp. Req</th>
 
<th class="filter-false" data-sorter="false">
<input class="checkAll" type="checkbox" onchange="selectAll('<%=institutionCode%>',this)">