Subversion Repositories bacoAlunos

Compare Revisions

Ignore whitespace Rev 1244 → Rev 1247

/impl/src/java/pt/estgp/estgweb/services/sigesimports/oracle/dao/DocenteDao.java
238,6 → 238,9
 
 
public static void main(String[] args) throws SQLException {
List<Integer> cods = new DocenteDao().loadCodigosDocentes(1,"201516");
for(Integer c:cods)
System.out.println(c);
List<Disciplina> ds = new DocenteDao().loadDisciplinasDosDocentes(20074,1,"201516");
for(Disciplina d: ds)
{
/impl/src/java/pt/estgp/estgweb/services/sigesimports/oracle/domain/Disciplina.java
57,4 → 57,52
{
 
}
 
public Integer getCodigo() {
return codigo;
}
 
public String getCdLectivo() {
return cdLectivo;
}
 
public Integer getCodigoCurso() {
return codigoCurso;
}
 
public String getCdDuracao() {
return cdDuracao;
}
 
public Integer getCodigoInstituicao() {
return codigoInstituicao;
}
 
public String getCdTurma() {
return cdTurma;
}
 
public String getNome() {
return nome;
}
 
public String getNomeCurso() {
return nomeCurso;
}
 
public String getGrauCurso() {
return grauCurso;
}
 
public Integer getCdTipoDisciplina() {
return cdTipoDisciplina;
}
 
public Integer getCodigoFuncaoDocente() {
return codigoFuncaoDocente;
}
 
public Integer getCdTipologia() {
return cdTipologia;
}
}
/impl/src/java/pt/estgp/estgweb/services/sigesimports/oracle/domain/Docente.java
24,4 → 24,60
public List<Disciplina> disciplinas;
 
public Docente() { }
 
public Integer getCodigoFuncionario() {
return codigoFuncionario;
}
 
public String getNome() {
return nome;
}
 
public String getNomeFuncionario() {
return nomeFuncionario;
}
 
public String getNomeFuncionarioInt() {
return nomeFuncionarioInt;
}
 
public String getNomeAcademico() {
return nomeAcademico;
}
 
public String getSexo() {
return sexo;
}
 
public Date getData_nascimento() {
return data_nascimento;
}
 
public String getMorada() {
return morada;
}
 
public Integer getCodigoPostal() {
return codigoPostal;
}
 
public Integer getSubCodigoPostal() {
return subCodigoPostal;
}
 
public String getEmail() {
return email;
}
 
public String getNumeroBi() {
return numeroBi;
}
 
public String getUsernameNetpa() {
return usernameNetpa;
}
 
public List<Disciplina> getDisciplinas() {
return disciplinas;
}
}
/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
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/CourseUnitDaoImpl.java
265,20 → 265,27
 
//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,String turma)
public List<CourseUnit> loadBySigesCodeUnique(String sigesCode, String courseCode, String semestre, String year)
{
//todo cdTurma Rollback
return (CourseUnit)
List<CourseUnit> cus =
createCriteria()
.add(eq("code", sigesCode))
.add(eq("courseCode", courseCode))
.add(eq("semestre", semestre))
.add(eq("importYear", year))
.add(eq("cdTurma", turma))
.uniqueResult();
//not any more .add(eq("cdTurma", turma))
.list();
if(cus.size() > 1)
{
logger.warn("WARNING WARNING ####Two units found for: ");
logger.warn("WARNING WARNING ####String sigesCode, String courseCode, String semestre, String year = " + sigesCode + ", " + courseCode + "," + semestre + "," + year);
logger.warn("WARNING WARNING ####returning first one, this could be a case of units spared because of TURMAS split used in 201516: ");
}
 
return cus;
}
 
public List<CourseUnit> loadBySigesCodeUniqueAllCourses(String sigesCode, String semestre, String year,String turma)
public List<CourseUnit> loadBySigesCodeUniqueAllCourses(String sigesCode, String semestre, String year)
{
//todo cdTurma Rollback
return
287,7 → 294,7
// REMOVED TO LET BE ALL COURSES .add(eq("courseCode", courseCode))
.add(eq("semestre", semestre))
.add(eq("importYear", year))
.add(eq("cdTurma", turma))
//not anymore .add(eq("cdTurma", turma))
.list();
}