Subversion Repositories bacoAlunos

Compare Revisions

Ignore whitespace Rev 1245 → Rev 1246

/impl/src/java/pt/estgp/estgweb/services/sigesimports/ImportTeachersService.java
15,18 → 15,13
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.oracle.dao.DocenteDao;
import pt.estgp.estgweb.services.sigesimports.oracle.domain.Disciplina;
import pt.estgp.estgweb.services.sigesimports.oracle.domain.Docente;
import pt.estgp.estgweb.utils.ConfigProperties;
import pt.estgp.estgweb.utils.Email;
import pt.ipportalegre.siges.web.services.ArrayOfDecimal;
import pt.ipportalegre.siges.web.services.Disciplina;
import pt.ipportalegre.siges.web.services.Docente;
import pt.ipportalegre.siges.web.services.SiGesWEB;
import pt.utl.ist.berserk.logic.serviceManager.IService;
 
import javax.xml.namespace.QName;
import java.math.BigDecimal;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.*;
 
/**
85,9 → 80,9
 
try
{
String WSDL = DaoFactory.getConfigurationDaoImpl().getSigesWebServicesWsdl();
SiGesWEB service;
try
//String WSDL = DaoFactory.getConfigurationDaoImpl().getSigesWebServicesWsdl();
//SiGesWEB service;
/*try
{
serviceLogInfo("STARTING WEB SERVICE AT " + WSDL);
service = new SiGesWEB(new URL(WSDL), new QName(Globals.SIGES_WEBSERVICE_TARGET_NAMESPACE, "SiGesWEB"));
100,22 → 95,25
return logMessages;
}
ArrayOfDecimal codigosDocentes = service.getSiGesWEBSoap().getCodigosDocentesInscritosDaInstituicao(new BigDecimal(DaoFactory.getConfigurationDaoImpl().getSigesInstitutionCode()), year);
List<BigDecimal> codigos = codigosDocentes.getDecimal();
*/
List<Integer> codigosDocentes = DocenteDao.getInstance().loadCodigosDocentes(DaoFactory.getConfigurationDaoImpl().getSigesInstitutionCode(), year);
// List<BigDecimal> codigos = codigosDocentes.getDecimal();
 
int i = 1;
for (BigDecimal c : codigos)
for (Integer c : codigosDocentes)
{
 
teachersFound++;
if (i++ > MAX_COMMIT)
{
i = 0;
setProgress((int) (((float)teachersFound)/((float)codigos.size())*100.0f));
setProgress((int) (((float)teachersFound)/((float)codigosDocentes.size())*100.0f));
commitPartially();
}
 
 
Docente d = service.getSiGesWEBSoap().getDocente(c, new BigDecimal(DaoFactory.getConfigurationDaoImpl().getSigesInstitutionCode()), year);
//Docente d = service.getSiGesWEBSoap().getDocente(c, new BigDecimal(DaoFactory.getConfigurationDaoImpl().getSigesInstitutionCode()), year);
Docente d = DocenteDao.getInstance().load(c, DaoFactory.getConfigurationDaoImpl().getSigesInstitutionCode(), year);
logger.info("Codigo Funcionario Importado: SIGES(" + d.getCodigoFuncionario().intValue() + ") email IPP SIGES: " + d.getEmail());
logger.info("SIGES IMPORTED INFO: " + docenteToString(d));
Teacher t = DaoFactory.getTeacherDaoImpl().loadBySigesCode(d.getCodigoFuncionario().intValue());
282,7 → 280,7
", nomeFuncionarioInt='" + d.getNomeFuncionarioInt() + '\'' +
", nomeAcademico='" + d.getNomeAcademico() + '\'' +
", sexo='" + d.getSexo() + '\'' +
", dataNascimento=" + d.getDataNascimento() +
", dataNascimento=" + d.getData_nascimento() +
", morada='" + d.getMorada() + '\'' +
", codigoPostal=" + d.getCodigoPostal() +
", subCodigoPostal=" + d.getSubCodigoPostal() +
330,7 → 328,7
teacher.setBi(teacherSiges.getNumeroBi());
teacher.setEmployerName(teacherSiges.getNomeFuncionario());
teacher.setAcademicName(teacherSiges.getNomeAcademico());
teacher.setBirthDate(teacherSiges.getDataNascimento().toGregorianCalendar().getTime());
teacher.setBirthDate(teacherSiges.getData_nascimento());
}
 
private static class TipologiaCourseUnitPair
448,11 → 446,11
teacher.setEmployerName(teacherSiges.getNomeFuncionario());
teacher.setAcademicName(teacherSiges.getNomeAcademico());
if(teacher.getBirthDate() == null || teacher.getBirthDate().getTime() == 0)
teacher.setBirthDate(teacherSiges.getDataNascimento().toGregorianCalendar().getTime());
teacher.setBirthDate(teacherSiges.getData_nascimento());
}
 
//Desta forma as relacoes antigas sao ignoradas cria-se uma lista nova e atribui-se ao Teacher, o Hibernate faz resto e apaga as chaves estrangeiras antigas
if (teacherSiges.getDisciplinas() == null || teacherSiges.getDisciplinas().getDisciplina() == null || teacherSiges.getDisciplinas().getDisciplina().size() == 0)
if (teacherSiges.getDisciplinas() == null || teacherSiges.getDisciplinas().size() == 0)
{
msgS = "ATENTION TEACHER WITH ZERO UNITS: codigoFuncionario " + teacherSiges.getCodigoFuncionario();
logger.warn(msgS);
469,7 → 467,7
//PASSO 1
Set<CourseUnit> units = new HashSet<CourseUnit>();
 
for (Disciplina disciplina : teacherSiges.getDisciplinas().getDisciplina())
for (Disciplina disciplina : teacherSiges.getDisciplinas())
{
List<CourseUnit> loadedunits = new ArrayList<CourseUnit>();
if(disciplina.getCodigoCurso().intValue() < 0)
633,12 → 631,12
 
if(!tImpl.isLocalUnit(cUNow))
{
//todo e tirar a linha de baixo no futuro - String msg = "Removendo unidade: " + ((CourseUnitImpl)cUNow).getSigesUniqueIdentifiers() + " - do docente: " + teacher.getSigesCode() + " - Associacao desapareceu do SIGES";
String msg = "Temporariamente não mas sim adicionando localmente, Removendo unidade: " + ((CourseUnitImpl)cUNow).getSigesUniqueIdentifiers() + " - do docente: " + teacher.getSigesCode() + " - Associacao desapareceu do SIGES";
((TeacherImpl)tImpl).addUnitLocaly(cUNow);
String msg = "Removendo unidade: " + ((CourseUnitImpl)cUNow).getSigesUniqueIdentifiers() + " - do docente: " + teacher.getSigesCode() + " - Associacao desapareceu do SIGES";
//String msg = "Temporariamente não mas sim adicionando localmente, Removendo unidade: " + ((CourseUnitImpl)cUNow).getSigesUniqueIdentifiers() + " - do docente: " + teacher.getSigesCode() + " - Associacao desapareceu do SIGES";
//((TeacherImpl)tImpl).addUnitLocaly(cUNow);
serviceLogInfo(msg);
logger.info(msg);
//todo iterNowUnits.remove();
iterNowUnits.remove();
unitsRemovedToTeachers++;
}
else