Subversion Repositories bacoAlunos

Compare Revisions

Ignore whitespace Rev 1221 → Rev 1234

/impl/src/java/pt/estgp/estgweb/services/courseunits/CreateCourseUnitDirPackageServiceBat.java
58,6 → 58,11
{
usersInqueritoPedagogico = DaoFactory.getUserDaoImpl().loadRoleUsers(Globals.INTRANET_DTP_INQUERITO_PEDAGOGICO_ROLE.trim());
}
 
 
List<User> usersServicesPrograms = DaoFactory.getUserDaoImpl().loadRoleUsers("servicesPrograms");
 
 
try
{
FileWriter batRunner = new FileWriter(tmpDir + "/create.bat");
143,6 → 148,44
 
batRunner.write("md " + courseNormalizedName + "\\\n");
batRunner.write("md " + relativeDirCourse + "\\\n");
 
/**
* Relatorio de Curso Novo
*/
batRunner.write("md " + relativeDirCourse + "\\" + "Relatorio.Curso" + "\n");
batRunner.write("cd " + relativeDirCourse + "\\\n");
 
 
batRunner.write("cacls " + "Relatorio.Curso" + " /t /e /p \"Domain Users\":n\n");
batRunner.write("cacls " + "Relatorio.Curso" + " /t /e /p \"Authenticated Users\":n\n");
batRunner.write("cacls " + "Relatorio.Curso" + " /t /e /p \"Intranet\":n\n");
batRunner.write("cacls " + "Relatorio.Curso" + " /t /e /p \"Alunos\":n\n");
batRunner.write("cacls " + "Relatorio.Curso" + " /t /e /r \"Domain Users\"\n");
batRunner.write("cacls " + "Relatorio.Curso" + " /t /e /r \"Authenticated Users\"\n");
batRunner.write("cacls " + "Relatorio.Curso" + " /t /e /r \"Intranet\"\n");
batRunner.write("cacls " + "Relatorio.Curso" + " /t /e /r \"Alunos\"\n");
 
batRunner.write("cacls " + "Relatorio.Curso" + " /t /e /g \"" + ConfigProperties.getProperty("ionline.user") + "\":f\n");
 
batRunner.write("cacls " + "Relatorio.Curso" + " /t /e /g \"Docentes\":r\n");
 
 
if(c.getUserGroupStudents() != null)
batRunner.write("cacls " + "Relatorio.Curso" + " /t /e /g \"" + c.getUserGroupStudents() + "\":r\n");
 
if(c.getDirector() != null)
batRunner.write("cacls " + "Relatorio.Curso" + " /t /e /g \"" + c.getDirector().getUsername() + "\":f\n");
 
if(c.getCoordinator() != null)
batRunner.write("cacls " + "Relatorio.Curso" + " /t /e /g \"" + c.getCoordinator().getUsername() + "\":f\n");
 
for(User serviceUser: usersServicesPrograms)
batRunner.write("cacls " + "Relatorio.Curso" + " /t /e /g \"" + serviceUser.getUsername() + "\":f\n");
 
batRunner.write("cd ..\\..\\\n");
/*Fim de Relatorio de Curso*/
 
 
if(s1t)
batRunner.write("md " + relativeDirCourse + "\\" + Globals.INTRANET_SEMESTRE_S1 + "\\\n");
if(s2t)
/impl/src/java/pt/estgp/estgweb/services/sigesimports/ImportStudentsService.java
52,7 → 52,14
int studentsChangeBI = 0;
int unitsAddedToStudents = 0;
int alunosErasmusCadeirasEcontradas = 0;
int turmaMoreThanOneRegularCourse = 0;
 
//Vasco da Gama
//Cadeiras a Vulso
//Erasmus
//disciplinas a vulso ESS
Integer[] cursosFicticios = {19,4,0,22};
 
public ILogMessages run(String year) throws ServiceException
{
 
68,6 → 75,7
studentsChangeBI = 0;
unitsAddedToStudents = 0;
alunosErasmusCadeirasEcontradas = 0;
turmaMoreThanOneRegularCourse = 0;
 
String activeImportYear = DaoFactory.getConfigurationDaoImpl().getInterfaceImportYear();
 
212,6 → 220,8
serviceLogInfo("#Units not Removed because localy added: " + unitsLocalAddedNotRemoved);
serviceLogInfo("#Units not Added because localy removed: " + unitsLocallyRemovedNotAdded);
serviceLogInfo("#ERASMUS Sum Subscriptions Replaced: " + alunosErasmusCadeirasEcontradas);
if(turmaMoreThanOneRegularCourse > 0)
serviceLogInfo("#########!!!!!!!PROBLEMA TURMAS COM MAIS DE UM CURSO: " + turmaMoreThanOneRegularCourse);
 
logger.info("############################");
logger.info("############################");
226,6 → 236,9
logger.info("#Units not Removed because localy added: " + unitsLocalAddedNotRemoved);
logger.info("#Units not Added because localy removed: " + unitsLocallyRemovedNotAdded);
logger.info("#ERASMUS Sum Subscriptions Replaced: " + alunosErasmusCadeirasEcontradas);
if(turmaMoreThanOneRegularCourse > 0)
logger.warn("#########!!!!!!!PROBLEMA TURMAS COM MAIS DE UM CURSO: " + turmaMoreThanOneRegularCourse);
 
if(studentsChangeBI>0)
{
serviceLogInfo("#>>>>>AVISO AVISO<<<<<<<<<: ");
268,9 → 281,9
}
}
 
public BigDecimal getRealCourse(String turma,String year, String semestre, SiGesWEB service)
public BigDecimal getRealCourse(String turma,String year, String semestre, SiGesWEB service, DefaultLogMessages messages)
{
HashMap<String,List<BigDecimal>> pairs = getCourseTurmaPairs(year,semestre,service);
HashMap<String,List<BigDecimal>> pairs = getCourseTurmaPairs(year,semestre,service,messages);
List<BigDecimal> cursos = pairs.get(turma);
if(cursos.size() > 1)
{
303,8 → 316,21
return null;
}
}
 
boolean isCursoFicticio(int cursoCode)
{
for(Integer cursoFicticio: cursosFicticios)
{
if(cursoFicticio.intValue() == cursoCode)
{
return true;
}
}
return false;
}
 
HashMap<String,HashMap<String,List<BigDecimal>>> semestreTurmaCursosPairs = new HashMap<String, HashMap<String, List<BigDecimal>>>();
private HashMap<String,List<BigDecimal>> getCourseTurmaPairs(String year,String semestre, SiGesWEB service)
private HashMap<String,List<BigDecimal>> getCourseTurmaPairs(String year,String semestre, SiGesWEB service, DefaultLogMessages messages)
{
HashMap<String,List<BigDecimal>> turmaCourses = semestreTurmaCursosPairs.get(year + ";" + semestre);
if(turmaCourses == null)
324,12 → 350,31
cursos = new ArrayList<BigDecimal>();
turmaCourses.put(turmaCursoPair.getCdTurma(),cursos);
}
if(turmaCursoPair.getCodigoCurso().intValue() > 0)
if(turmaCursoPair.getCodigoCurso().intValue() >= 0)
{
cursos.add(turmaCursoPair.getCodigoCurso());
msg = "Adding:" + turmaCursoPair.getCdTurma() + "->" + turmaCursoPair.getCodigoCurso();
logger.info(msg);
serviceLogInfo(msg);
boolean cursoFicticio = isCursoFicticio(turmaCursoPair.getCodigoCurso().intValue());
if(!cursoFicticio)
{
cursos.add(turmaCursoPair.getCodigoCurso());
 
msg = "Adding:" + turmaCursoPair.getCdTurma() + "->" + turmaCursoPair.getCodigoCurso();
logger.info(msg);
serviceLogInfo(msg);
if(cursos.size()>1)
{
turmaMoreThanOneRegularCourse++;
msg = "Warning: turma " + turmaCursoPair.getCdTurma() + " has more than one regular course associated ";
logger.warn(msg);
serviceLogWarn(msg);
messages.addMessage(new DefaultLogMessage("", LogMessageTypeEnum.WARNING,msg));
}
}
else
{
msg = "Not adding:" + turmaCursoPair.getCdTurma() + "->" + turmaCursoPair.getCodigoCurso() + " -> Codigo de Curso Ficticio ->não vai ser considerado";
logger.info(msg);
serviceLogInfo(msg);
}
}
else
{
448,44 → 493,54
//todo mudar isto
//todo mudar nos webservices quando vai buscar o mapa de turmas
final int ERASMUS_CODE = 0;
//FALTA AQUI O VASCO DA GAMA
//FALTA AQUI DISCIPLINAS A VULSO
 
//PASSO 1
Set<CourseUnit> unitsFromSigesPersistentInBaco = new HashSet<CourseUnit>();
ArrayOfDisciplina disciplinas = alunoSiges.getDisciplinasInscrito();
for (Disciplina disciplina : disciplinas.getDisciplina())
{
BigDecimal codigoDoCursoReal = disciplina.getCodigoCurso();
boolean cursoFicticio = isCursoFicticio(disciplina.getCodigoCurso().intValue());
BigDecimal codigoDoCurso = disciplina.getCodigoCurso();
if(disciplina.getCdTipoDisciplina() != null
&& (disciplina.getCdTipoDisciplina().intValue()
== ImportCourseService.SIGES_CODIGO_TIPO_DISCIPLINA_EXTRA_CURRICULAR
|| disciplina.getCodigoCurso().intValue() == ERASMUS_CODE))
&&
(disciplina.getCdTipoDisciplina().intValue() == ImportCourseService.SIGES_CODIGO_TIPO_DISCIPLINA_EXTRA_CURRICULAR
||
cursoFicticio))
{
 
if(disciplina.getCodigoCurso().intValue() == ERASMUS_CODE)
if(cursoFicticio)
{
alunosErasmusCadeirasEcontradas++;
String msg = "Disciplina para Aluno de Erasmus Encontrada (" + student.getSigesCode() + ") vamos trocar para código de curso real";
String msg = "Disciplina para Aluno " + student.getSigesCode() + " de Curso Ficticio " +disciplina.getCodigoCurso().intValue() + " encontrada vamos trocar para código de curso real";
serviceLogInfo(msg);
logger.info(msg);
}
codigoDoCursoReal = getRealCourse(disciplina.getCdTurma(),year,disciplina.getCdDuracao(),service);
String msg = "Codigo de curso (" + disciplina.getCodigoCurso() + ") da disciplina " + disciplina.getCodigo() + " tipo: " + disciplina.getCdTipoDisciplina() + " nome:" + disciplina.getNome() + "turma: " + disciplina.getCdTurma() + " Modificado para o real: " + codigoDoCursoReal;
else
{
String msg = "Disciplina para Aluno " + student.getSigesCode() + " ExtraCurricular " +disciplina.getCodigoCurso().intValue() + " encontrada vamos trocar para código de curso real";
serviceLogInfo(msg);
logger.info(msg);
}
codigoDoCurso = getRealCourse(disciplina.getCdTurma(),year,disciplina.getCdDuracao(),service,logMessages);
String msg = "Codigo de curso (" + disciplina.getCodigoCurso() + ") da disciplina " + disciplina.getCodigo() + " tipo: " + disciplina.getCdTipoDisciplina() + " nome:" + disciplina.getNome() + "turma: " + disciplina.getCdTurma() + " Modificado para o real: " + codigoDoCurso;
serviceLogInfo(msg);
logger.info(msg);
}
 
CourseUnit courseUnit = DaoFactory.getCourseUnitDaoImpl().loadBySigesCodeUnique("" + disciplina.getCodigo(),"" + codigoDoCursoReal,disciplina.getCdDuracao(),disciplina.getCdLectivo()
CourseUnit courseUnit = DaoFactory.getCourseUnitDaoImpl().loadBySigesCodeUnique("" + disciplina.getCodigo(),"" + codigoDoCurso,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)
{
unitsNotFoundTurma++;
courseUnit = tryFindCourseUnitWithOutTurma(logMessages,disciplina.getCdDuracao(),""+disciplina.getCodigo().intValue()
,"" + codigoDoCursoReal.intValue(),disciplina.getCdLectivo(),disciplina.getCdTurma());
,"" + codigoDoCurso.intValue(),disciplina.getCdLectivo(),disciplina.getCdTurma());
}
if(courseUnit == null)
{
unitsNotFound++;
String msg = "Unit not found: semestre:" + disciplina.getCdDuracao() + " codigo:" + disciplina.getCodigo() + " course:" + codigoDoCursoReal + " year:" + disciplina.getCdLectivo() + " turma: " + disciplina.getCdTurma();
String msg = "Unit not found (student " + student.getSigesCode() + "): semestre:" + disciplina.getCdDuracao() + " codigo:" + disciplina.getCodigo() + " course:" + codigoDoCurso + " year:" + disciplina.getCdLectivo() + " turma: " + disciplina.getCdTurma();
serviceLogWarn(msg);
logger.warn(msg);
}
/impl/src/java/pt/estgp/estgweb/services/sigesimports/ImportTeachersService.java
46,6 → 46,7
int teachersNew = 0;
int teachersZeroUnits = 0;
int unitsNotFound = 0;
int unitsNotFoundCourseNotFound = 0;
int unitsAddedToTeachers = 0;
int unitsRemovedToTeachers = 0;
int unitsLocalAddedNotRemoved = 0;
61,6 → 62,7
teachersNew = 0;
teachersZeroUnits = 0;
unitsNotFound = 0;
unitsNotFoundCourseNotFound = 0;
unitsAddedToTeachers = 0;
unitsRemovedToTeachers = 0;
unitsLocalAddedNotRemoved = 0;
121,7 → 123,7
t = DomainObjectFactory.createTeacherImpl();
DaoFactory.getTeacherDaoImpl().save(t);
newUser = true;
teachersNew++;
//teachersNew++;
}
else
{
134,7 → 136,7
serviceLogInfo(msgS);
try
{
persist(d, t, newUser,year);
persist(d, t, newUser,year,logMessages);
}
catch (Exception e)
{
187,6 → 189,7
serviceLogInfo("#Teachers New: " + teachersNew);
serviceLogInfo("#Teachers Zero Units: " + teachersZeroUnits);
serviceLogInfo("#Units not found: " + unitsNotFound);
serviceLogInfo("#Units with NULL COURSE : " + unitsNotFoundCourseNotFound);
serviceLogInfo("#Units removed to Teachers: " + unitsRemovedToTeachers);
serviceLogInfo("#Units added to Teachers: " + unitsAddedToTeachers);
serviceLogInfo("#Units not Removed because localy added: " + unitsLocalAddedNotRemoved);
198,6 → 201,7
logger.info("#Teachers New: " + teachersNew);
logger.info("#Teachers Zero Units: " + teachersZeroUnits);
logger.info("#Units not found: " + unitsNotFound);
logger.info("#Units with NULL COURSE : " + unitsNotFoundCourseNotFound);
logger.info("#Units removed to Teachers: " + unitsRemovedToTeachers);
logger.info("#Units added to Teachers: " + unitsAddedToTeachers);
logger.info("#Units not Removed because localy added: " + unitsLocalAddedNotRemoved);
324,7 → 328,7
* @param teacher teacher
* @throws Exception .
*/
private void persist(Docente teacherSiges, Teacher teacher, boolean newUser, String year) throws Exception
private void persist(Docente teacherSiges, Teacher teacher, boolean newUser, String year,DefaultLogMessages logmessages) throws Exception
{
String msgS;
 
460,8 → 464,20
if (courseUnit == null)
{
msgS = "Unit not found: semestre:" + disciplina.getCdDuracao() + " codigo:" + disciplina.getCodigo() + " course:" + disciplina.getCodigoCurso() + " year:" + disciplina.getCdLectivo();
unitsNotFound++;
if(disciplina.getCodigoCurso()==null || disciplina.getCodigoCurso().intValue() <= -1)
{
unitsNotFoundCourseNotFound++;
msgS += "... unit with No Course Found in SIGED";
logmessages.addMessage(new DefaultLogMessage("import.teachers", LogMessageTypeEnum.WARNING,msgS ));
}
else
{
msgS += "... probably unit with zero students not imported in CoursesImport";
}
logger.warn(msgS);
serviceLogWarn(msgS);
 
}
else
units.add(courseUnit);
/impl/src/java/pt/estgp/estgweb/services/sigesimports/ImportCourseService.java
300,7 → 300,7
{
c = DomainObjectFactory.createCourseUnitImpl();
DaoFactory.getCourseUnitDaoImpl().save(c);
logMessages.addMessage(new DefaultLogMessage("import.error", "New Unit Found: (" + d.getCodigo() + ") " + d.getNome() + " - curso (" + d.getNomeCurso() + ") " + d.getNomeCurso() + " turma(" + d.getCdTurma() + ")", "see log for details", LogMessageTypeEnum.ERROR));
logMessages.addMessage(new DefaultLogMessage("import.error", "New Unit Found: (" + d.getCodigo() + ") " + d.getNome() + " - curso (" + d.getNomeCurso() + ") " + d.getNomeCurso() + " turma(" + d.getCdTurma() + ")", "see log for details", LogMessageTypeEnum.INFO));
logger.info(logMessages.getLastMessage());
serviceLogInfo(logMessages.getLastMessage());
newUnits++;
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/CourseUnitDaoImpl.java
252,6 → 252,7
*/
public List<CourseUnit> loadBySigesCodeTurmaNull(String sigesCode, String courseCode, String semestre, String year)
{
//todo cdTurma Rollback
return (List<CourseUnit>)
createCriteria()
.add(eq("code", sigesCode))
266,6 → 267,7
//se nao a carregar unidades vai buscar a errada
public CourseUnit loadBySigesCodeUnique(String sigesCode, String courseCode, String semestre, String year,String turma)
{
//todo cdTurma Rollback
return (CourseUnit)
createCriteria()
.add(eq("code", sigesCode))
276,6 → 278,19
.uniqueResult();
}
 
public List<CourseUnit> loadBySigesCodeUniqueAllCourses(String sigesCode, String semestre, String year,String turma)
{
//todo cdTurma Rollback
return
createCriteria()
.add(eq("code", sigesCode))
// REMOVED TO LET BE ALL COURSES .add(eq("courseCode", courseCode))
.add(eq("semestre", semestre))
.add(eq("importYear", year))
.add(eq("cdTurma", turma))
.list();
}
 
public CourseUnit loadBySigesCodeUniqueMostRecent(String sigesCode, String courseCode, String semestre)
{
List<CourseUnit> cus =
/common/oracle/ojdbc6.jar
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+ application/octet-stream