Subversion Repositories bacoAlunos

Compare Revisions

Ignore whitespace Rev 1136 → Rev 1138

/impl/src/java/pt/estgp/estgweb/services/courseunits/CreateCourseUnitDirPackageServiceBat.java
311,6 → 311,10
 
if(usersInqueritoPedagogico != null && usersInqueritoPedagogico.size() > 0)
{
for(User u: usersInqueritoPedagogico)
{
batRunner.write("cacls " + Globals.INTRANET_DTP + " /t /e /g \"" + u.getUsername() + "\":r\n");
}
batRunner.write("cd " + Globals.INTRANET_DTP + "\n");
for(User u: usersInqueritoPedagogico)
{
/impl/src/java/pt/estgp/estgweb/services/sigesimports/ImportGradesService.java
135,6 → 135,7
Date data = nota.getDataAvaliacao().toGregorianCalendar().getTime();
int momento = nota.getMomentoAvaliacao().intValue();
int epoca = nota.getEpocaAvaliacao().intValue();
 
//boolean eFinal = nota.get
 
String descricaoEpoca = mapaEpocasAvaliacao.get(epoca + "-" + momento);
144,10 → 145,25
 
if(descricaoEpoca!= null && s != null)
{
CourseUnit courseUnit;
CourseUnit courseUnit = null;
try{
 
courseUnit = DaoFactory.getCourseUnitDaoImpl().loadBySigesCodeUnique("" + codUnidade, "" + codCurso,cdDuracao,year);
List<CourseUnit> cus = DaoFactory.getCourseUnitDaoImpl().loadBySigesCode("" + codUnidade, "" + codCurso,cdDuracao,year);
//Uma cadeira atribuida a uma nota que pode nao ser de facto a turma dela
//A nota tem de passar a deixar de ter obrigatoriamente a cadeira
//ha que mudar isso na interface e colocar apenas o descritivo nesses casos e manter a cadeira
//a null para nao haver hipoteses de confusao
if(cus != null && cus.size() > 0)
courseUnit = cus.get(0);
if(cus.size() > 1)
{
CourseUnit c1 = cus.get(0);
CourseUnit c2 = cus.get(1);
logMessages.addMessage(new DefaultLogMessage("import.warning","",
"Mais que uma unidade para o código(unidade,curso): " + codUnidade + "," + codCurso + " -> " + courseUnit.getName() + " possiveis duas turmas: " + c1.getCdTurma() + " - " + c2.getCdTurma() , LogMessageTypeEnum.INFO));
logger.info(logMessages.getLastMessage());
serviceLogInfo(logMessages.getLastMessage());
}
if(courseUnit != null)
{
CourseUnitGrade grade = DaoFactory.getCourseUnitGradeDaoImpl().find(courseUnit.getId(),s.getId(),""+momento,""+epoca);
/impl/src/java/pt/estgp/estgweb/services/sigesimports/ImportStudentsService.java
149,7 → 149,7
DaoFactory.getStudentDaoImpl().save(s);
newUser = true;
}
persist(alunoSiges, s, newUser,year,activeImportYear);
persist(alunoSiges, s, newUser,year,activeImportYear,logMessages);
//Advising CommonsServicesManager before change password
 
if (newUser)
266,7 → 266,7
* @param alunoSiges Aluno
* @param student Student
*/
private void persist(Aluno alunoSiges, Student student, boolean newUser, String year, String activeImportYear)
private void persist(Aluno alunoSiges, Student student, boolean newUser, String year, String activeImportYear, DefaultLogMessages logMessages)
{
if(newUser)
{
363,11 → 363,17
ArrayOfDisciplina disciplinas = alunoSiges.getDisciplinasInscrito();
for (Disciplina disciplina : disciplinas.getDisciplina())
{
CourseUnit courseUnit = DaoFactory.getCourseUnitDaoImpl().loadBySigesCodeUnique("" + disciplina.getCodigo(),"" + disciplina.getCodigoCurso(),disciplina.getCdDuracao(),disciplina.getCdLectivo());
CourseUnit courseUnit = DaoFactory.getCourseUnitDaoImpl().loadBySigesCodeUnique("" + disciplina.getCodigo(),"" + disciplina.getCodigoCurso(),disciplina.getCdDuracao(),disciplina.getCdLectivo()
,disciplina.getCdTurma());
//Special procedure for Aluno to check if turma not exist will find without turma code to keep old years compatibility
if(courseUnit == null)
{
courseUnit = tryFindCourseUnitWithOutTurma(logMessages,disciplina);
}
if(courseUnit == null)
{
unitsNotFound++;
String msg = "Unit not found: semestre:" + disciplina.getCdDuracao() + " codigo:" + disciplina.getCodigo() + " course:" + disciplina.getCodigoCurso() + " year:" + disciplina.getCdLectivo();
String msg = "Unit not found: semestre:" + disciplina.getCdDuracao() + " codigo:" + disciplina.getCodigo() + " course:" + disciplina.getCodigoCurso() + " year:" + disciplina.getCdLectivo() + " turma: " + disciplina.getCdTurma();
serviceLogWarn(msg);
logger.warn(msg);
}
468,6 → 474,41
}
}
 
private CourseUnit tryFindCourseUnitWithOutTurma(DefaultLogMessages logMessages, Disciplina disciplina)
{
CourseUnit courseUnit = null;
String msg = "Unit not found with turma code : semestre:" + disciplina.getCdDuracao() + " codigo:" + disciplina.getCodigo() + " course:" + disciplina.getCodigoCurso() + " year:" + disciplina.getCdLectivo() + " turma: " + disciplina.getCdTurma();
logMessages.addMessage(new DefaultLogMessage("", LogMessageTypeEnum.WARNING,msg));
serviceLogWarn(msg);
logger.warn(msg);
msg = "Trying without Turma code...";
serviceLogWarn(msg);
logger.warn(msg);
List<CourseUnit> cus = DaoFactory.getCourseUnitDaoImpl().loadBySigesCode("" + disciplina.getCodigo(),"" + disciplina.getCodigoCurso(),disciplina.getCdDuracao(),disciplina.getCdLectivo());
if(cus != null && cus.size() == 1)
{
courseUnit = cus.get(0);
msg = "Found ok...";
serviceLogInfo(msg);
logger.info(msg);
}
else if(cus !=null && cus.size() > 1)
{
courseUnit = cus.get(0);
msg = "Found More than one, unexpected situation..." + cus.get(0).getId() + " - " + cus.get(1).getId();
logMessages.addMessage(new DefaultLogMessage("", LogMessageTypeEnum.WARNING,msg));
serviceLogWarn(msg);
logger.warn(msg);
}
else
{
msg = "Not Found ...";
serviceLogInfo(msg);
logger.info(msg);
}
return courseUnit;
 
}
private void cloneFields(Aluno alunoSiges, Student student) {
student.setName(alunoSiges.getNome());
student.setEmail(alunoSiges.getEmail());
/impl/src/java/pt/estgp/estgweb/domain/CourseUnitProgramImpl.java
505,9 → 505,13
 
private static void importCourseUnit(CourseUnitInputLine line, String importYear) throws TransformerException, IOException, FOPException {
 
CourseUnit cu;
CourseUnit cu = null;
try{
cu = DaoFactory.getCourseUnitDaoImpl().loadBySigesCodeUnique(line.codigoSIGESUnidade,line.codigoCurso,line.semestre, importYear);
//todo revisao necessaria
System.out.println("######FRAGMENTO DE CODIGO DESATUALIZADO, NESTE MOMENTO UMA CADEIRA AQUI NAO E UNICA (FALTA ID DE TURMA) -> NECESSITA DE REVISAO");
List<CourseUnit> cs = DaoFactory.getCourseUnitDaoImpl().loadBySigesCode(line.codigoSIGESUnidade,line.codigoCurso,line.semestre, importYear);
if(cs!=null && cs.size() > 0)
cu=cs.get(0);
}catch(NonUniqueResultException e)
{
errors.add("unidade nao unica: " + line.codigoSIGESUnidade + ":" + line.codigoCurso + ":" + line.semestre + ":" + importYear );
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/CourseUnitDaoImpl.java
222,15 → 222,24
 
//TODO Na actualizacao de uma cadeira para o curso de TESTE mudar o coursecode para o o coursecode desse curso para nao deixar os dados duplicados e mal
//se nao a carregar unidades vai buscar a errada
public CourseUnit loadBySigesCodeUnique(String sigesCode, String courseCode, String semestre, String year)
 
/**
* Turma required to be unique in BACO Model
* @param sigesCode
* @param courseCode
* @param semestre
* @param year
* @return
*/
public List<CourseUnit> loadBySigesCode(String sigesCode, String courseCode, String semestre, String year)
{
return (CourseUnit)
return
createCriteria()
.add(eq("code", sigesCode))
.add(eq("courseCode", courseCode))
.add(eq("semestre", semestre))
.add(eq("importYear", year))
.uniqueResult();
.list();
}
 
/**