/branches/v3/impl/src/java/pt/estgp/estgweb/services/sigesimports/ImportTeachersService.java |
---|
672,13 → 672,20 |
//na criacao de questionarios é natural que falhe alguma coisa por haver aqui unidades a mais |
//por isso devera ser ai feita a verificacao destes casos |
boolean separateTurmas = ImportCourseService.loadCourseYearTurmasPolicy(disciplina.getCodigoCurso(), year, logmessages, this); |
/* |
este procedimento requer que a turma venha do siges, neste momento nao vem |
if(separateTurmas) |
loadedunits = DaoFactory.getCourseUnitDaoImpl().loadBySigesCodeUniqueWithTurma("" + disciplina.getCodigo(), "" + disciplina.getCodigoCurso(), "" + disciplina.getCdDuracao(), "" + disciplina.getCdLectivo(),disciplina.getCdTurma()); |
else |
loadedunits = DaoFactory.getCourseUnitDaoImpl().loadBySigesCodeUnique("" + disciplina.getCodigo(), "" + disciplina.getCodigoCurso(), "" + disciplina.getCdDuracao(), "" + disciplina.getCdLectivo()); |
*/ |
//este procedimento requer que a turma venha do siges, neste momento nao vem |
//Este procedimento foi colocado por mim a 6 de Junho para que os questionarios tenham os profs certos nas disciplinas |
//e não em duplicado, daqui para baixo o código nunca compara com separateTurmas, o mapa apenas é acedido aqui |
//porque daqui para baixo uma vez carregadas as turmas persistentes do SIGES apenas o id é comparado para ver se fica ou se é removida |
//Vamos apenas ter de verificar que o código de turma vem na associação do docente à turma. |
//NAO DA A TURMA NUNCA VEM DO SIGENS PARA NAO DUPLICAR TURMAS NO JOIN |
//RESOVE-SE NA ATRIBUICAO DE RESPOSTAS DOS QUESTINARIOS SO SE METE O QUE TEM SUMARIO SE O CURSO FOR DE TURMAS |
//SEPARADAS |
//if(separateTurmas) |
// loadedunits = DaoFactory.getCourseUnitDaoImpl().loadBySigesCodeUniqueWithTurma("" + disciplina.getCodigo(), "" + disciplina.getCodigoCurso(), "" + disciplina.getCdDuracao(), "" + disciplina.getCdLectivo(),disciplina.getCdTurma()); |
//else |
// loadedunits = DaoFactory.getCourseUnitDaoImpl().loadBySigesCodeUnique("" + disciplina.getCodigo(), "" + disciplina.getCodigoCurso(), "" + disciplina.getCdDuracao(), "" + disciplina.getCdLectivo()); |
loadedunits = DaoFactory.getCourseUnitDaoImpl().loadBySigesCodeUnique("" + disciplina.getCodigo(), "" + disciplina.getCodigoCurso(), "" + disciplina.getCdDuracao(), "" + disciplina.getCdLectivo()); |
/*******Logging************************/ |
if(loadedunits.size() > 1 && !separateTurmas) |
/branches/v3/impl/src/java/pt/estgp/estgweb/services/sigesimports/ImportCourseService.java |
---|
257,7 → 257,7 |
* @param logMessages |
* @return |
*/ |
protected static boolean loadCourseYearTurmasPolicy(int codigoDoCurso,String year,DefaultLogMessages logMessages,ServiceJob service) { |
public static boolean loadCourseYearTurmasPolicy(int codigoDoCurso,String year,DefaultLogMessages logMessages,ServiceJob service) { |
Boolean turmasSeparated = courseYearTurmasPolicy.get(codigoDoCurso + "-" + year); |
if(turmasSeparated != null) |
/branches/v3/impl/src/java/pt/estgp/estgweb/services/questionarios/pedagogico/AnswersAlunosProcessor.java |
---|
9,6 → 9,7 |
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; |
115,8 → 116,6 |
logger.info(msg); |
serviceLogInfo(msg); |
if(unidadeCurricularAfeta.getCodigoUnidade().equals("704342")) |
System.out.println(""); |
if(!unidadeCurricularAfeta.isUsar()) |
{ |
129,6 → 128,18 |
else |
{ |
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)); |
} |
unidadesUtilizadas++; |
verificaAlertasUnidade(logMessages, unidadeCurricularAfeta); |
List<CourseUnitImpl.Tipologia> tipologias; |
155,14 → 166,27 |
} |
} |
//Lista de Professores para ir removendo à medida que sao usados para no final confirmar se algum |
//não tinha tipologia vamos coloca-lo manualmente |
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()); } |
List<CourseUnitImpl.Tipologia> tipologiasEmFalta = criarTipologiasRequisitadasSimplesParaProfsForaDasTurmasPorFaltaDeSumarios(logMessages, q, unidadeCurricularAfeta, cuImpl, professoresEsperados); |
tipologias.addAll(tipologiasEmFalta); |
if(separateTurmas) |
{ |
if(professoresEsperados.size() > 0) |
{ |
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)); |
} |
} |
else |
{ |
//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); |
} |
for(CourseUnitImpl.Tipologia tMerge: tipologias) |
{ |
/branches/v3/impl/src/java/pt/estgp/estgweb/services/questionarios/pedagogico/UpdateCoursesAndUnitsJobService.java |
---|
424,7 → 424,7 |
DaoFactory.getQuestionarioPedagogicoCursoAfetoDaoImpl().delete(cursoAfeto); |
} |
private void removeUnselectedUnits(QuestionarioPedagogicoCursoAfeto cursoAfetado, List<String> newUnidadesCodesList) { |
private void removeUnselectedUnits(QuestionarioPedagogicoCursoAfeto cursoAfetado, List<Long> newUnidadesCodesList) { |
/** logging **/ |
String msg = "Removing unselected units from course: " + cursoAfetado.getCodigoCurso(); |
serviceLogInfo(msg); |
433,7 → 433,7 |
Set<QuestionarioPedagogicoUnidadeCurricularAfeta> allUnidades = cursoAfetado.getUnidadesAfetas(); |
for(QuestionarioPedagogicoUnidadeCurricularAfeta unidadeAfeta: allUnidades) |
{ |
if(!newUnidadesCodesList.contains(unidadeAfeta.getCodigoUnidade())) |
if(!newUnidadesCodesList.contains(unidadeAfeta.getCourseUnit().getId())) |
{ |
/** logging **/ |
msg = "--->Deleting unidade: " + unidadeAfeta.getCodigoUnidade(); |
502,7 → 502,7 |
List<String> newUnitCodesList = new ArrayList<String>(); |
List<Long> newUnitCodesList = new ArrayList<Long>(); |
int countUnits = 0; |
List<CourseUnitDaoImpl.CourseUnitResult> results = DaoFactory.getCourseUnitDaoImpl().loadCourseUnits(c.getId(), q.getSemestre(), q.getYear()); |
int totalUnits = results.size(); |
510,7 → 510,7 |
{ |
countUnits++; |
CourseUnit cu = DaoFactory.getCourseUnitDaoImpl().load(cur.id); |
newUnitCodesList.add(cu.getCode()); |
newUnitCodesList.add(cu.getId()); |
/** logging **/ |
msg = "---->(" + countUnits + " of " + totalUnits +") CourseUnit loaded: " + cu.getName() + "(" + cu.getCode() + ")"; |
serviceLogInfo(msg); |
534,10 → 534,10 |
String msg; |
QuestionarioPedagogicoUnidadeCurricularAfetaImpl unidadeAfeta = null; |
List<QuestionarioPedagogicoUnidadeCurricularAfeta> unidadesFound = DaoFactory.getQuestionarioPedagogicoUnidadeCurricularAfetaDaoImpl().find(cursoAfeto.getQuestionario().getId(), cursoAfeto.getCodigoCurso(), cu.getCode()); |
List<QuestionarioPedagogicoUnidadeCurricularAfeta> unidadesFound = DaoFactory.getQuestionarioPedagogicoUnidadeCurricularAfetaDaoImpl().find(cursoAfeto.getQuestionario().getId(), cursoAfeto.getCodigoCurso(), cu.getId()); |
if(unidadesFound != null && unidadesFound.size() > 1) |
{ |
msg = "Encontradas mais que uma unidade nos mesmos códigos: curso:" +cursoAfeto.getCodigoCurso() + ", unidade " + cu.getCode() + " apagando um"; |
msg = "Encontradas mais que uma unidade nos mesmos códigos: curso:" +cursoAfeto.getCodigoCurso() + ", unidade " + cu.getCode() + " com id sistema(" + cu.getId() + ") apagando um"; |
serviceLogWarn(msg); |
logger.warn(msg); |
logMessages.addMessage(new DefaultLogMessage("questionario.courses.selection", LogMessageTypeEnum.WARNING,msg)); |
/branches/v3/impl/src/java/pt/estgp/estgweb/domain/dao/impl/QuestionarioPedagogicoUnidadeCurricularAfetaDaoImpl.java |
---|
16,16 → 16,16 |
return (QuestionarioPedagogicoUnidadeCurricularAfetaDaoImpl) myInstance; |
} |
public List<QuestionarioPedagogicoUnidadeCurricularAfeta> find(long questionarioId, String cursoCode,String codeUnidade) |
public List<QuestionarioPedagogicoUnidadeCurricularAfeta> find(long questionarioId, String cursoCode,Long idUnidade) |
{//pt.estgp.estgweb.domain.dao.DaoFactory.getQuestionarioPedagogicoUnidadeCurricularAfetaDaoImpl().getCurrentSession().createCriteria(QuestionarioPedagogicoUnidadeCurricularAfeta.class).add(eq("cursoAfeto.id","1")).list() |
//add(eq("cuA.questionario.id", new Long(20))).add(eq("codigoUnidade","209535")).add(eq("cuA.codigoCurso","9119")) |
Query q = getCurrentSession().createQuery("select c from c in class " + QuestionarioPedagogicoUnidadeCurricularAfeta.class.getName() + " " + |
" join c.cursoAfeto as curso " + |
"where curso.questionario.id = :questionarioId and curso.codigoCurso = :codigoCurso" + |
" and c.codigoUnidade = :codigoUnidade"); |
" and c.courseUnit.id = :idUnidade"); |
q.setLong("questionarioId", questionarioId); |
q.setString("codigoCurso", cursoCode); |
q.setString("codigoUnidade",codeUnidade); |
q.setLong("idUnidade",idUnidade); |
return q.list(); |
/*DaoFactory.getCourseDaoImpl() |
/branches/v3/impl/src/web/user/questionarios/questionariosSee.jsp |
---|
56,6 → 56,10 |
request.setAttribute("q",q); |
%> |
<baco:initClearances name="q"/> |
<% |
if(q.getStateEnum().getPosition() >= QuestionarioImpl.State.PROCESSING.getPosition()) |
{ |
%> |
<tr> |
<td>${q.id}</td> |
<td>${q.description}</td> |
105,6 → 109,7 |
<td><%=pt.estgp.estgweb.web.utils.DatesUtils.getStringFromDate(q.getUpdateDate())%></td> |
</tr> |
<% |
} |
} |
AbstractDao.getCurrentSession().getTransaction().commit(); |
%> |