/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(); |
} |
/** |