Subversion Repositories bacoAlunos

Rev

Rev 1341 | Rev 1400 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1341 Rev 1396
Line 57... Line 57...
57
    int unitsRepeated = 0;
57
    int unitsRepeated = 0;
58
    int alunosFound = 0;
58
    int alunosFound = 0;
59
    int studentsChangeBI = 0;
59
    int studentsChangeBI = 0;
60
    int unitsAddedToStudents = 0;
60
    int unitsAddedToStudents = 0;
61
    int alunosErasmusCadeirasEcontradas = 0;
61
    int alunosErasmusCadeirasEcontradas = 0;
-
 
62
    int alunosSemTurmaParaAUnidades = 0;
62
    int turmaMoreThanOneRegularCourse = 0;
63
    int turmaMoreThanOneRegularCourse = 0;
63
    int unidadesProcuradasNumCursoAleatorio = 0;
64
    int unidadesProcuradasNumCursoAleatorio = 0;
64
    List<String> turmasMoreThanOneCourse = new ArrayList<String>();
65
    List<String> turmasMoreThanOneCourse = new ArrayList<String>();
65
    int turmasWrongSubscriptions = 0;
66
    int turmasWrongSubscriptions = 0;
66
    int estudantesDesaparecidosDoSigesNesteAno = 0;
67
    int estudantesDesaparecidosDoSigesNesteAno = 0;
67
    int estudantesComCadeirasSemTurma = 0;
68
    int estudantesComCadeirasSemTurma = 0;
68
    int turmasComCodigoNullRemovidas = 0;
69
    int turmasComCodigoNullRemovidas = 0;
69
    int unidadesSoComAlunosExtra = 0;
70
    int unidadesSoComAlunosExtra = 0;
-
 
71
    int turmasVindasANullDoSIGES = 0;
70
 
72
 
71
 
73
 
72
 
74
 
73
 
75
 
74
    //Vasco da Gama
76
    //Vasco da Gama
Line 100... Line 102...
100
        estudantesDesaparecidosDoSigesNesteAno = 0;
102
        estudantesDesaparecidosDoSigesNesteAno = 0;
101
        estudantesComCadeirasSemTurma = 0;
103
        estudantesComCadeirasSemTurma = 0;
102
        turmasComCodigoNullRemovidas = 0;
104
        turmasComCodigoNullRemovidas = 0;
103
        unidadesSoComAlunosExtra = 0;
105
        unidadesSoComAlunosExtra = 0;
104
        unidadesProcuradasNumCursoAleatorio = 0;
106
        unidadesProcuradasNumCursoAleatorio = 0;
-
 
107
        alunosSemTurmaParaAUnidades = 0;
-
 
108
        turmasVindasANullDoSIGES = 0;
105
        ImportCourseService.resetCourseYearTurmaPolicy();
109
        ImportCourseService.resetCourseYearTurmaPolicy();
106
 
110
 
107
 
111
 
108
 
112
 
109
        1.5.0/docs/api/java/lang/String.html">String activeImportYearParaVerificacaoDePropinasEmDia = DaoFactory.getConfigurationDaoImpl().getInterfaceImportYear();
113
        1.5.0/docs/api/java/lang/String.html">String activeImportYearParaVerificacaoDePropinasEmDia = DaoFactory.getConfigurationDaoImpl().getInterfaceImportYear();
Line 160... Line 164...
160
                    i = MAX_COMMIT+1; //Para fazer commit já na póxima iteração
164
                    i = MAX_COMMIT+1; //Para fazer commit já na póxima iteração
161
                    DaoFactory.getStudentDaoImpl().save(s);
165
                    DaoFactory.getStudentDaoImpl().save(s);
162
                    newUser = true;
166
                    newUser = true;
163
                }
167
                }
164
 
168
 
-
 
169
                if(alunoSiges.getCodigo() == 11211)
-
 
170
                    1.5.0/docs/api/java/lang/System.html">System.out.println("Aqui");
-
 
171
 
165
                persist(alunoSiges, s, newUser,year,institutionCode,activeImportYearParaVerificacaoDePropinasEmDia,logMessages,service);
172
                persist(alunoSiges, s, newUser,year,institutionCode,activeImportYearParaVerificacaoDePropinasEmDia,logMessages,service);
166
 
173
 
167
                if(studentComUnidadesRepetidas)
174
                if(studentComUnidadesRepetidas)
168
                    unitsRepeated++;
175
                    unitsRepeated++;
169
 
176
 
Line 261... Line 268...
261
        serviceLogInfo("#Units added to Students: " + unitsAddedToStudents);
268
        serviceLogInfo("#Units added to Students: " + unitsAddedToStudents);
262
        serviceLogInfo("#Units removed to Students: " + unitsRemovedToStudents);
269
        serviceLogInfo("#Units removed to Students: " + unitsRemovedToStudents);
263
        serviceLogInfo("#Units not Removed because localy added: " + unitsLocalAddedNotRemoved);
270
        serviceLogInfo("#Units not Removed because localy added: " + unitsLocalAddedNotRemoved);
264
        serviceLogInfo("#Units not Added because localy removed: " + unitsLocallyRemovedNotAdded);
271
        serviceLogInfo("#Units not Added because localy removed: " + unitsLocallyRemovedNotAdded);
265
        serviceLogInfo("#Alunos com Unidades repetidas: " + unitsRepeated);
272
        serviceLogInfo("#Alunos com Unidades repetidas: " + unitsRepeated);
266
        serviceLogInfo("#ERASMUS Sum Subscriptions Replaced: " + alunosErasmusCadeirasEcontradas);
273
        serviceLogWarn("#ERASMUS Sum Subscriptions Replaced: " + alunosErasmusCadeirasEcontradas);
-
 
274
        if(turmasVindasANullDoSIGES > 0)
-
 
275
        {
-
 
276
            serviceLogError("######!!!!!Turmas a NULL NO SIGES " + turmasVindasANullDoSIGES + " - POSSIVEL CAMPO DE TURMA diferente de TURMA_T na tabela T_INSCR, procure no LOG pela frase: (turmasVindasANullDoSIGES) ");
-
 
277
        }
-
 
278
        if(alunosSemTurmaParaAUnidades > 0)
-
 
279
        {
-
 
280
            serviceLogError("######!!!!!Alunos com Unidade mas sem Turma: " + alunosSemTurmaParaAUnidades + " -> verificar situação junto da administração de software do PAE - procure no LOG pela frase:(alunosSemTurmaParaAUnidades)");
-
 
281
        }
267
        if(unidadesProcuradasNumCursoAleatorio > 0)
282
        if(unidadesProcuradasNumCursoAleatorio > 0)
268
            serviceLogInfo("######!!!!!Unidades atribuidas com curso aleatoriamente escolhido derivado a duvidas: " + unidadesProcuradasNumCursoAleatorio + " (procurar por \"tem mais de um curso vamos procurar num qualquer\")");
283
            serviceLogInfo("######!!!!!Unidades atribuidas com curso aleatoriamente escolhido derivado a duvidas: " + unidadesProcuradasNumCursoAleatorio + " (procurar por \"tem mais de um curso vamos procurar num qualquer\")");
269
        if(turmaMoreThanOneRegularCourse > 0)
284
        if(turmaMoreThanOneRegularCourse > 0)
270
        {
285
        {
271
            serviceLogWarn("#########!!!!!!!ATENÇÃO TURMAS COM MAIS DE UM CURSO: " + turmaMoreThanOneRegularCourse);
286
            serviceLogWarn("#########!!!!!!!ATENÇÃO TURMAS COM MAIS DE UM CURSO: " + turmaMoreThanOneRegularCourse);
Line 323... Line 338...
323
        logger.info("#Units removed to Students: " + unitsRemovedToStudents);
338
        logger.info("#Units removed to Students: " + unitsRemovedToStudents);
324
        logger.info("#Units not Removed because localy added: " + unitsLocalAddedNotRemoved);
339
        logger.info("#Units not Removed because localy added: " + unitsLocalAddedNotRemoved);
325
        logger.info("#Units not Added because localy removed: " + unitsLocallyRemovedNotAdded);
340
        logger.info("#Units not Added because localy removed: " + unitsLocallyRemovedNotAdded);
326
        logger.info("#Alunos com Unidades repetidas: " + unitsRepeated);
341
        logger.info("#Alunos com Unidades repetidas: " + unitsRepeated);
327
        logger.info("#ERASMUS Sum Subscriptions Replaced: " + alunosErasmusCadeirasEcontradas);
342
        logger.info("#ERASMUS Sum Subscriptions Replaced: " + alunosErasmusCadeirasEcontradas);
-
 
343
        if(turmasVindasANullDoSIGES > 0)
-
 
344
        {
-
 
345
            logger.error("######!!!!!Turmas a NULL NO SIGES " + turmasVindasANullDoSIGES + " - POSSIVEL CAMPO DE TURMA diferente de TURMA_T na tabela T_INSCR procure no LOG pela frase: (turmasVindasANullDoSIGES) ");
-
 
346
        }
-
 
347
        if(alunosSemTurmaParaAUnidades > 0)
-
 
348
        {
-
 
349
            logger.error("######!!!!!Alunos com Unidade mas sem Turma: " + alunosSemTurmaParaAUnidades + " -> verificar situação junto da administração de software do PAE - procure no LOG pela frase:(alunosSemTurmaParaAUnidades)");
-
 
350
        }
328
        if(unidadesProcuradasNumCursoAleatorio > 0)
351
        if(unidadesProcuradasNumCursoAleatorio > 0)
329
            logger.warn("######!!!!!Unidades atribuidas com curso aleatoriamente escolhido derivado a duvidas: " + unidadesProcuradasNumCursoAleatorio + " (procurar por \"tem mais de um curso vamos procurar num qualquer\")");
352
            logger.warn("######!!!!!Unidades atribuidas com curso aleatoriamente escolhido derivado a duvidas: " + unidadesProcuradasNumCursoAleatorio + " (procurar por \"tem mais de um curso vamos procurar num qualquer\")");
330
 
353
 
331
        if(turmaMoreThanOneRegularCourse > 0)
354
        if(turmaMoreThanOneRegularCourse > 0)
332
        {
355
        {
Line 508... Line 531...
508
                        "where courseunit.importYear=\"" + year + "\") as turmas\n" +
531
                        "where courseunit.importYear=\"" + year + "\") as turmas\n" +
509
                        "on turmas.studentId = subscribedunits.studentId and turmas.courseUnit = subscribedunits.courseunitid\n" +
532
                        "on turmas.studentId = subscribedunits.studentId and turmas.courseUnit = subscribedunits.courseunitid\n" +
510
                        "where courseunit.importYear=\"" + year + "\" and courseunit.institutionCode = \"" + institutionCode + "\" and turmas.studentId is null ");
533
                        "where courseunit.importYear=\"" + year + "\" and courseunit.institutionCode = \"" + institutionCode + "\" and turmas.studentId is null ");
511
        1.5.0/docs/api/java/sql/ResultSet.html">ResultSet rs = ps.executeQuery();
534
        1.5.0/docs/api/java/sql/ResultSet.html">ResultSet rs = ps.executeQuery();
512
        List<Integer> longs = new ArrayList<Integer>();
535
        List<Integer> longs = new ArrayList<Integer>();
-
 
536
        //alunosSemTurmaParaAUnidades = longs.size();
513
        while(rs.next())
537
        while(rs.next())
514
        {
538
        {
515
            longs.add(rs.getInt("sigesCode"));
539
            longs.add(rs.getInt("sigesCode"));
516
        }
540
        }alunosSemTurmaParaAUnidades = longs.size();
517
        rs.close();
541
        rs.close();
518
        ps.close();
542
        ps.close();
519
 
543
 
520
        if(longs.size() > 0)
544
        if(longs.size() > 0)
521
        {
545
        {
522
            1.5.0/docs/api/java/lang/String.html">String msgS = "Existem estudantes no BACO com unidades sem turma respectiva ano: " + year + " institution:" + institutionCode + " possiveis adicionados manualmente, confirmar";
546
            1.5.0/docs/api/java/lang/String.html">String msgS = "(alunosSemTurmaParaAUnidades) ATENÇÃO_ Existem estudantes no BACO com unidades sem turma respectiva ano: " + year + " institution:" + institutionCode + " possiveis adicionados manualmente, confirmar";
523
            serviceLogWarn(msgS);
547
            serviceLogWarn(msgS);
524
            logger.warn(msgS);
548
            logger.warn(msgS);
525
            msgS = "";
549
            msgS = "";
526
            for (1.5.0/docs/api/java/lang/Integer.html">Integer c : longs)
550
            for (1.5.0/docs/api/java/lang/Integer.html">Integer c : longs)
527
            {
551
            {
Line 566... Line 590...
566
            for (1.5.0/docs/api/java/lang/Integer.html">Integer c : codesInBaco)
590
            for (1.5.0/docs/api/java/lang/Integer.html">Integer c : codesInBaco)
567
            {
591
            {
568
                estudantesDesaparecidosDoSigesNesteAno++;
592
                estudantesDesaparecidosDoSigesNesteAno++;
569
                Student s = DaoFactory.getStudentDaoImpl().loadBySigesCode(c);
593
                Student s = DaoFactory.getStudentDaoImpl().loadBySigesCode(c);
570
                StudentImpl studentImpl = (StudentImpl) DaoFactory.getStudentDaoImpl().narrow(s);
594
                StudentImpl studentImpl = (StudentImpl) DaoFactory.getStudentDaoImpl().narrow(s);
571
                removerUnidadesQueDesapareceramNoSiges(year, new HashSet<CourseUnit>(), studentImpl);
595
                removerUnidadesQueDesapareceramNoSiges(year, new HashSet<CourseUnit>(), studentImpl,institutionCode);
572
                consistirTurmasAluno(studentImpl, year, new HashMap<CourseUnit, String>());
596
                consistirTurmasAluno(studentImpl, year, new HashMap<CourseUnit, String>(),institutionCode);
573
            }
597
            }
574
        }
598
        }
575
        else
599
        else
576
        {
600
        {
577
            msgS = "OK check - Não existem alunos desaparecidos no SIGES ano: " + year + " institution:" + institutionCode + " possiveis adicionados manualmente, confirmar";
601
            msgS = "OK check - Não existem alunos desaparecidos no SIGES ano: " + year + " institution:" + institutionCode + " possiveis adicionados manualmente, confirmar";
Line 833... Line 857...
833
        {
857
        {
834
            studentsZeroUnits++;
858
            studentsZeroUnits++;
835
            serviceLogWarn("ATENTION STUDENT WITH ZERO UNITS: codigo " + alunoSiges.getCodigo());
859
            serviceLogWarn("ATENTION STUDENT WITH ZERO UNITS: codigo " + alunoSiges.getCodigo());
836
            logger.warn("ATENTION STUDENT WITH ZERO UNITS: codigo " + alunoSiges.getCodigo());
860
            logger.warn("ATENTION STUDENT WITH ZERO UNITS: codigo " + alunoSiges.getCodigo());
837
            StudentImpl studentImpl = (StudentImpl) DaoFactory.getStudentDaoImpl().narrow(student);
861
            StudentImpl studentImpl = (StudentImpl) DaoFactory.getStudentDaoImpl().narrow(student);
838
            removerUnidadesQueDesapareceramNoSiges(year, new HashSet<CourseUnit>(), studentImpl);
862
            removerUnidadesQueDesapareceramNoSiges(year, new HashSet<CourseUnit>(), studentImpl,institutionCode);
839
            consistirTurmasAluno(studentImpl, year, new HashMap<CourseUnit, String>());
863
            consistirTurmasAluno(studentImpl, year, new HashMap<CourseUnit, String>(),institutionCode);
840
        }
864
        }
841
        else
865
        else
842
        {
866
        {
843
            //1 - PROCEDIMENTO CADEIRAS SAO CARREGADAS DO BACO DA LISTA QUE VEM DO SIGES -> units      CADEIRAS SIGES PERS BACO
867
            //1 - PROCEDIMENTO CADEIRAS SAO CARREGADAS DO BACO DA LISTA QUE VEM DO SIGES -> units      CADEIRAS SIGES PERS BACO
844
            //2 - Sao retiradas da lista units as que o aluno tem mas que foram removidas localmente   CADEIRAS SIGES PERS BACO - REMOVIDAS LOCALMENTE = CADEIRAS SIGES PER BACO LIMPAS
868
            //2 - Sao retiradas da lista units as que o aluno tem mas que foram removidas localmente   CADEIRAS SIGES PERS BACO - REMOVIDAS LOCALMENTE = CADEIRAS SIGES PER BACO LIMPAS
Line 864... Line 888...
864
            //turmas separadas : Seguro a verificação de existencia é feita pelo id da unidade curricular no baco nas verificacoes para remocoes
888
            //turmas separadas : Seguro a verificação de existencia é feita pelo id da unidade curricular no baco nas verificacoes para remocoes
865
            adicionarCadeirasNovasAoAluno(studentImpl, unitsFromSigesPersistentInBaco);
889
            adicionarCadeirasNovasAoAluno(studentImpl, unitsFromSigesPersistentInBaco);
866
 
890
 
867
            //PASSO 4 - Remover unidades deste ano que nao vem do SIGES e que nao foram adicionadas localmente
891
            //PASSO 4 - Remover unidades deste ano que nao vem do SIGES e que nao foram adicionadas localmente
868
            //turmas separadas : Seguro a verificação de existencia é feita pelo id da unidade curricular no baco nas verificacoes para remocoes
892
            //turmas separadas : Seguro a verificação de existencia é feita pelo id da unidade curricular no baco nas verificacoes para remocoes
869
            removerUnidadesQueDesapareceramNoSiges(year, unitsFromSigesPersistentInBaco, studentImpl);
893
            removerUnidadesQueDesapareceramNoSiges(year, unitsFromSigesPersistentInBaco, studentImpl,institutionCode);
870
 
894
 
871
            //PASSO 5 - Consistir Turmas do Aluno com novas cadeiras - Turmas do aluno sem cadeira correspondente sao apagadas, novas sao adicionadas
895
            //PASSO 5 - Consistir Turmas do Aluno com novas cadeiras - Turmas do aluno sem cadeira correspondente sao apagadas, novas sao adicionadas
872
            //Este metodo vai necessitar de obter as turmas das unidades que vieram do SIGES atraves do mapa map_CourseUnit_x_Turma
896
            //Este metodo vai necessitar de obter as turmas das unidades que vieram do SIGES atraves do mapa map_CourseUnit_x_Turma
873
            //de forma a garantir que as mesmas estão consistentes em
897
            //de forma a garantir que as mesmas estão consistentes em
874
            //em termos de relacoes com turmas na classe CourseUnitTurma
898
            //em termos de relacoes com turmas na classe CourseUnitTurma
875
            //deste modo se alguma unidade foi adicionada localmente poderá nao ser removida no PASSO 4 e nao havera correspondente
899
            //deste modo se alguma unidade foi adicionada localmente poderá nao ser removida no PASSO 4 e nao havera correspondente
876
            //para a turma nesta tabela map_CourseUnit_x_Turma logo essas turmas nessas unidades nao serao mechidas, um aviso e emitido
900
            //para a turma nesta tabela map_CourseUnit_x_Turma logo essas turmas nessas unidades nao serao mechidas, um aviso e emitido
877
            consistirTurmasAluno(studentImpl, year, map_CourseUnit_x_Turma);
901
            consistirTurmasAluno(studentImpl, year, map_CourseUnit_x_Turma,institutionCode);
878
        }
902
        }
879
    }
903
    }
880
 
904
 
881
    private void consistirTurmasAluno(StudentImpl student, 1.5.0/docs/api/java/lang/String.html">String year, Map<CourseUnit, String> map_CourseUnit_x_Turma) {
905
    private void consistirTurmasAluno(StudentImpl student, 1.5.0/docs/api/java/lang/String.html">String year, Map<CourseUnit, String> map_CourseUnit_x_Turma, int institutionCode) {
882
        //PASSO 1 Para cada cadeira onde o aluno se encontra inscrito
906
        //PASSO 1 Para cada cadeira onde o aluno se encontra inscrito
883
        //        obter a turma onde o aluno esta' colocado, se nao existir criar e afectar a turma
907
        //        obter a turma onde o aluno esta' colocado, se nao existir criar e afectar a turma
884
        //PASSO 2 Colocar o aluno nessa turma se ele ainda lá nao estiver
908
        //PASSO 2 Colocar o aluno nessa turma se ele ainda lá nao estiver
885
        //PASSO 3 Para todas as turmas do aluno de cadeiras do ano corrente
909
        //PASSO 3 Para todas as turmas do aluno de cadeiras do ano corrente
886
        //        se essa turma nao estiver na lista de Turmas afectadas
910
        //        se essa turma nao estiver na lista de Turmas afectadas
Line 888... Line 912...
888
        //        remove ao mesmo tempo da lista da turma da unidade
912
        //        remove ao mesmo tempo da lista da turma da unidade
889
        //PASSO 1
913
        //PASSO 1
890
        Map<CourseUnitTurma,Boolean> turmasAfectadas = new HashMap<CourseUnitTurma,Boolean>();
914
        Map<CourseUnitTurma,Boolean> turmasAfectadas = new HashMap<CourseUnitTurma,Boolean>();
891
        for(CourseUnit cu: student.getSubscribedUnits())
915
        for(CourseUnit cu: student.getSubscribedUnits())
892
        {
916
        {
893
            if(cu.getImportYear().equals(year))
917
            if(cu.getImportYear().equals(year) && cu.getInstitutionCode().equals(""+institutionCode))
894
            {
918
            {
895
                if(cu.getTurmas() == null)
919
                if(cu.getTurmas() == null)
896
                {
920
                {
897
                    cu.setTurmas(new HashSet<CourseUnitTurma>());
921
                    cu.setTurmas(new HashSet<CourseUnitTurma>());
898
                }
922
                }
899
 
923
 
900
                // TODO O CODIGO DA TURMA AQUI VEM ANUL NUM CASO QUALQUER ESQUISITO VER O QUE E NO RUN
-
 
901
 
-
 
902
                1.5.0/docs/api/java/lang/String.html">String codigoTurma = map_CourseUnit_x_Turma.get(cu);
924
                1.5.0/docs/api/java/lang/String.html">String codigoTurma = map_CourseUnit_x_Turma.get(cu);
903
                if(student.isLocalUnit(cu) && codigoTurma == null)
925
                if(student.isLocalUnit(cu) && codigoTurma == null)
904
                {
926
                {
905
                    //nao tem correspondencia no mapa de turmas uma vez que nao foi carregada no siges
927
                    //nao tem correspondencia no mapa de turmas uma vez que nao foi carregada no siges
906
                    //mas foi mantida porque foi adicionada manualmente
928
                    //mas foi mantida porque foi adicionada manualmente
907
                    //deste modo usaremos a turma antiga
929
                    //deste modo usaremos a turma antiga
908
                    //e nao afetaremos uma turma nao afetada, esta nao sera verificada
930
                    //e nao afetaremos uma turma nao afetada, esta nao sera verificada
909
                    1.5.0/docs/api/java/lang/String.html">String msg = "Atenção turma com código null nao sera verificada e' local unit:" + cu.getCode() + " aluno:" + student.getSigesCode();
931
                    1.5.0/docs/api/java/lang/String.html">String msg = "Atenção turma não encontrada para uma unidade do aluno, A unidade não foi importada do SIGES logo não há turma mas nao sera verificada porque e' uma local unit:" + cu.getCode() + " aluno:" + student.getSigesCode();
910
                    serviceLogInfo(msg);
932
                    serviceLogInfo(msg);
911
                    logger.info(msg);
933
                    logger.info(msg);
912
                }
934
                }
913
                else if(codigoTurma == null)
935
                else if(codigoTurma == null)
914
                {
936
                {
915
                    //Este caso nao deverá acontecer porque no PASSO 4 da persistencia apenas nao se removem as adicionadas localmente
937
                    //Este caso nao deverá acontecer porque no PASSO 4 da persistencia apenas nao se removem as adicionadas localmente
916
                    1.5.0/docs/api/java/lang/String.html">String msg = "Atenção turma com código null e nao e' local unit:" + cu.getCode() + " aluno:" + student.getSigesCode();
938
                    1.5.0/docs/api/java/lang/String.html">String msg = "Atenção turma não encontrada para uma unidade do aluno. A Unidade não foi importada do SIGES ou vinha com turma NULL, logo nao se sabe a turma do aluno para escolher, e não e' uma unidade LOCALMENTE ADICIONADA logo devia vir do SIGES ou ter sido removida - unit:" + cu.getCode() + " aluno:" + student.getSigesCode();
917
                    serviceLogError(msg);
939
                    serviceLogError(msg);
918
                    logger.error(msg);
940
                    logger.error(msg);
919
                }
941
                }
920
                else
942
                else
921
                {
943
                {
Line 941... Line 963...
941
        {
963
        {
942
            Iterator<CourseUnitTurmaImpl> iter = student.getTurmas().iterator();
964
            Iterator<CourseUnitTurmaImpl> iter = student.getTurmas().iterator();
943
            while(iter.hasNext())
965
            while(iter.hasNext())
944
            {
966
            {
945
                CourseUnitTurmaImpl turma = iter.next();
967
                CourseUnitTurmaImpl turma = iter.next();
946
                if(turma.getCourseUnit().getImportYear().equals(year))
968
                if(turma.getCourseUnit().getImportYear().equals(year) && turma.getCourseUnit().getInstitutionCode().equals(institutionCode+""))
947
                {
969
                {
948
                    if(student.isLocalUnit(turma.getCourseUnit()) && turmasAfectadas.get(turma) == null)
970
                    if(student.isLocalUnit(turma.getCourseUnit()) && turmasAfectadas.get(turma) == null)
949
                    {
971
                    {
950
                        1.5.0/docs/api/java/lang/String.html">String msg = "Atenção turma com código " + turma.getTurma() + " nao sera removida porque e' a turma da local unit:" + turma.getCourseUnit().getCode() + " aluno:" + student.getSigesCode();
972
                        1.5.0/docs/api/java/lang/String.html">String msg = "Atenção turma com código " + turma.getTurma() + " nao sera removida porque e' a turma da local unit:" + turma.getCourseUnit().getCode() + " aluno:" + student.getSigesCode();
951
                        serviceLogInfo(msg);
973
                        serviceLogInfo(msg);
Line 1004... Line 1026...
1004
     * @param student
1026
     * @param student
1005
     * @param year
1027
     * @param year
1006
     * @param unitsFromSigesPersistentInBaco
1028
     * @param unitsFromSigesPersistentInBaco
1007
     * @param student
1029
     * @param student
1008
     */
1030
     */
1009
    private void removerUnidadesQueDesapareceramNoSiges(1.5.0/docs/api/java/lang/String.html">String year, Set<CourseUnit> unitsFromSigesPersistentInBaco, StudentImpl student) {
1031
    private void removerUnidadesQueDesapareceramNoSiges(1.5.0/docs/api/java/lang/String.html">String year, Set<CourseUnit> unitsFromSigesPersistentInBaco, StudentImpl student,int institutionCode) {
1010
        Iterator<CourseUnit> iterNowUnits = student.getSubscribedUnits().iterator();
1032
        Iterator<CourseUnit> iterNowUnits = student.getSubscribedUnits().iterator();
1011
        while(iterNowUnits.hasNext())
1033
        while(iterNowUnits.hasNext())
1012
        {
1034
        {
1013
            CourseUnit cUNow = iterNowUnits.next();
1035
            CourseUnit cUNow = iterNowUnits.next();
1014
            if(cUNow.getImportYear().equals(year))
1036
            if(cUNow.getImportYear().equals(year) && cUNow.getInstitutionCode().equals(""+institutionCode))
1015
            //Apenas tentamos apagar as unidades do ano corrente.
1037
            //Apenas tentamos apagar as unidades do ano corrente.
1016
            //Este servico trabalha com unidades importadas do ano que e passado como argumento
1038
            //Este servico trabalha com unidades importadas do ano que e passado como argumento
1017
            //Se importamos unidades desse ano, as dos outros anos nao vem na lista, logo
1039
            //Se importamos unidades desse ano, as dos outros anos nao vem na lista, logo
1018
            //iriamos constatar que nenhuma estava no SIGES o que nao e verdade.
1040
            //iriamos constatar que nenhuma estava no SIGES o que nao e verdade.
1019
            //Assim so apagamos unidades do ano que estamos a importar e que nao venham
1041
            //Assim so apagamos unidades do ano que estamos a importar e que nao venham
Line 1212... Line 1234...
1212
            }
1234
            }
1213
            else
1235
            else
1214
            {
1236
            {
1215
                for(CourseUnit found: courseUnits)
1237
                for(CourseUnit found: courseUnits)
1216
                {
1238
                {
-
 
1239
                    if(disciplina.getCdTurma() == null)
-
 
1240
                    {
-
 
1241
                       turmasVindasANullDoSIGES++;
-
 
1242
                       1.5.0/docs/api/java/lang/String.html">String msg = "(turmasVindasANullDoSIGES) ATENÇÃO ERRO: Existe uma turma a null numa inscrição vinda do SIGES, procurar razão: unidade:" + disciplina.getCodigo() + " estudante:" + student.getSigesCode() + " possivelmente campo de turma em uso é errado";
-
 
1243
                       serviceLogWarn(msg);
-
 
1244
                       logger.warn(msg);
-
 
1245
                    }
1217
                    map_CourseUnit_x_Turma.put(found,disciplina.getCdTurma());
1246
                    map_CourseUnit_x_Turma.put(found,disciplina.getCdTurma());
1218
                }
1247
                }
1219
 
1248
 
1220
                unitsFromSigesPersistentInBaco.addAll(courseUnits);
1249
                unitsFromSigesPersistentInBaco.addAll(courseUnits);
1221
            }
1250
            }