2,10 → 2,10 |
|
import jomm.dao.impl.AbstractDao; |
import org.apache.log4j.Logger; |
import org.hibernate.NonUniqueResultException; |
import pt.estgp.estgweb.Globals; |
import pt.estgp.estgweb.domain.Course; |
import pt.estgp.estgweb.domain.CourseUnit; |
import pt.estgp.estgweb.domain.CourseUnitImpl; |
import pt.estgp.estgweb.domain.DomainObjectFactory; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import pt.estgp.estgweb.domain.views.CourseView; |
19,7 → 19,9 |
import pt.estgp.estgweb.services.logresults.impl.DefaultLogMessages; |
import pt.estgp.estgweb.utils.ConfigProperties; |
import pt.estgp.estgweb.utils.Email; |
import pt.ipportalegre.siges.web.services.*; |
import pt.ipportalegre.siges.web.services.ArrayOfDisciplina; |
import pt.ipportalegre.siges.web.services.Disciplina; |
import pt.ipportalegre.siges.web.services.SiGesWEB; |
import pt.utl.ist.berserk.logic.serviceManager.IService; |
|
import javax.xml.namespace.QName; |
39,6 → 41,7 |
|
int newUnits = 0; |
int newCourses = 0; |
int unitsRepeated = 0; |
public ILogMessages run(String year) throws ServiceException |
{ |
String msgS = "STARTING COURSES IMPORT SERVICE FOR YEAR: " + year; |
47,6 → 50,7 |
|
newUnits = 0; |
newCourses = 0; |
unitsRepeated = 0; |
|
DefaultLogMessages logMessages = new DefaultLogMessages(); |
try |
146,6 → 150,7 |
serviceLogInfo("#Units Imported T4:" + disciplinasMapT4.size()); |
serviceLogInfo("#New Courses Found:" + newCourses); |
serviceLogInfo("#New Units Found:" + newUnits); |
serviceLogInfo("#Unidades Repetidas:" + unitsRepeated); |
|
logger.info("######################################"); |
logger.info("######################################"); |
159,6 → 164,7 |
logger.info("#Units Imported T4:" + disciplinasMapT4.size()); |
logger.info("#New Courses Found:" + newCourses); |
logger.info("#New Units Found:" + newUnits); |
logger.info("#Unidades Repetidas:" + unitsRepeated); |
|
|
} |
259,65 → 265,45 |
|
continue; |
} |
CourseUnit c; |
try{ |
c = DaoFactory.getCourseUnitDaoImpl().loadBySigesCodeUnique("" + d.getCodigo(), "" + d.getCodigoCurso(), semestre, year, d.getCdTurma()); |
}catch(NonUniqueResultException e) |
//CourseUnit c = null; |
List<CourseUnit> cus = null; |
|
cus= DaoFactory.getCourseUnitDaoImpl().loadBySigesCodeUnique("" + d.getCodigo(), "" + d.getCodigoCurso(), semestre, year); |
if(cus != null && cus.size() > 1 ) |
{ |
logMessages.addMessage(new DefaultLogMessage("import.error","Unidade Repetida: (" + d.getCodigo() + ") curso: " + d.getCodigoCurso() + " " + semestre + " " + year, "see log for details", LogMessageTypeEnum.ERROR)); |
unitsRepeated++; |
logMessages.addMessage(new DefaultLogMessage("import.error","Unidade Repetida: (" + d.getCodigo() + ") curso: " + d.getCodigoCurso() + " " + semestre + " " + year, "see log for details, vai atualizar as duas", LogMessageTypeEnum.ERROR)); |
logger.fatal(logMessages.getLastMessage()); |
serviceLogWarn(logMessages.getLastMessage()); |
|
throw e; |
} |
//NOVO pode ainda nao ter turma |
if(c == null) |
{ |
List<CourseUnit> cus = DaoFactory.getCourseUnitDaoImpl().loadBySigesCodeTurmaNull("" + d.getCodigo(), "" + d.getCodigoCurso(), semestre, year); |
if(cus == null || cus.size() == 0 ) |
{ |
// nao faz nada deixa ir null para criar |
|
} |
else if(cus.size() == 1) |
{ |
//Tem de levar turma |
c = cus.get(0); |
c.setCdTurma(d.getCdTurma()); |
//é a primeira leva com o primeiro código de turma mete-se já este mas a seguir pode vir outro |
logger.info("Adding turma code: " + d.getCdTurma() + " to unit:" + d.getCodigo() + "/" + d.getNome() + " curso:" + d.getCodigoCurso() + "/" + d.getNomeCurso()); |
serviceLogInfo("Adding turma code: " + d.getCdTurma() + " to unit:" + d.getCodigo() + "/" + d.getNome() + " curso:" + d.getCodigoCurso() + "/" + d.getNomeCurso()); |
} |
else |
{ |
logMessages.addMessage(new DefaultLogMessage("import.error", "Unidade Repetida: (" + d.getCodigo() + ") curso: " + d.getCodigoCurso() + " " + semestre + " " + year + " " + d.getCdTurma(), "see log for details", LogMessageTypeEnum.ERROR)); |
logger.fatal(logMessages.getLastMessage()); |
serviceLogWarn(logMessages.getLastMessage()); |
} |
} |
//NOVO |
if (c == null) |
|
if (cus == null || cus.size() == 0) |
{ |
c = DomainObjectFactory.createCourseUnitImpl(); |
CourseUnitImpl 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.INFO)); |
logger.info(logMessages.getLastMessage()); |
serviceLogInfo(logMessages.getLastMessage()); |
newUnits++; |
cus = new ArrayList<CourseUnit>(); |
cus.add(c); |
} |
//NOVO |
|
c.setCdTurma("" + d.getCdTurma()); |
//FIM NOVO |
c.setName(d.getNome()); |
c.setInstitutionCode("" + DaoFactory.getConfigurationDaoImpl().getSigesInstitutionCode()); |
c.setCode("" + d.getCodigo().intValue()); |
c.setCourseCode("" + d.getCodigoCurso()); |
c.setCourseName("" + d.getNomeCurso()); |
c.setSemestre(semestre); |
c.setImportYear(year); |
Course course = DaoFactory.getCourseDaoImpl().findCourseByCode(c.getCourseCode()); |
c.setCourse(course); |
for(CourseUnit c: cus) |
{ |
//todo deixa de atualizar c.setCdTurma("" + d.getCdTurma()); |
c.setName(d.getNome()); |
c.setInstitutionCode("" + DaoFactory.getConfigurationDaoImpl().getSigesInstitutionCode()); |
c.setCode("" + d.getCodigo().intValue()); |
c.setCourseCode("" + d.getCodigoCurso()); |
c.setCourseName("" + d.getNomeCurso()); |
c.setSemestre(semestre); |
c.setImportYear(year); |
Course course = DaoFactory.getCourseDaoImpl().findCourseByCode(c.getCourseCode()); |
c.setCourse(course); |
} |
} |
} |
|