PAD145 REQ - Disciplinas optativas
Esta interface é utilizada para a seleção de disciplinas optativas do aluno. Ela foi homologada para uso no requerimento.
Regras:
- Interface para seleção de disciplinas em requerimento. A interface possui os seguintes campos: Disciplina curricular, Disciplina a cursar, Carga horária e Horário.
- Utiliza o serviço externo Recuperação de disciplinas equivalentes (por disciplina) de um tipo de componente curricular.
Validações:
- Será possível solicitar apenas disciplinas optativas das fases 3 e 4. Caso o aluno esteja em outra fase, a solicitação será bloqueada, exibindo a mensagem: “Somente alunos na 3ª ou 4ª fase do curso podem selecionar disciplinas optativas para matrícula.”.
- A carga horária das disciplinas selecionadas deve totalizar exatamente 30 horas. Caso contrário, a solicitação será bloqueada, exibindo a mensagem: “A carga horária das disciplinas deve totalizar 30 horas”.
- Será realizada a validação de conflitos de dia da semana e horário ao selecionar mais de uma disciplina. A validação seguirá a regra de matrícula. Caso a regra esteja configurada para bloqueio, a solicitação será impedida, exibindo a mensagem: 'As disciplinas selecionadas possuem conflito de horários. Consulte os horários para selecionar disciplinas que não possuem conflito.
Disponibilização da funcionalidade
- Importar a interface através do gerador de interfaces do mentor;
- Vincular a Interface como interface de um requerimento.
Pré-requisitos
- Vincular a interface PAD145 a um requerimento;
- Tipo de componente curricular com ID 10;
- Disciplinas na grade com o componente de ID 10;
- As disciplinas da grade devem possuir disciplinas equivalentes - que serão as optativas do serviço externo;
- As disciplinas equivalentes devem estar sendo ofertadas em outra turma, do mesmo período letivo e fase;
- Importar a PAD144 REQ - Consulta de horários, pois a mesma será usada na consulta dos horários (ícone de calendário).
Além das configurações mencionadas, são necessárias configurações específicas no cadastro do requerimento, sendo elas:
1. Adicionar estas informações em “Configurações da interface”:
2. Criar validações na aba “Validações”:
Importante: Adicionar os scripts abaixo para cada validação:
1. Bloqueio do conflito de horário:
SELECT COUNT(*) FROM TB_REQUERIMENTOS_SOLIC REQ WHERE REQ.RSO_ID = :REQUERIMENTO_NRO AND RSO_CURORIID IN (SELECT RMC_CURID FROM TB_REGRA_MATRICULA_CURSO INNER JOIN TB_REGRA_MATRICULA ON RMC_RGMID = RGM_ID WHERE COALESCE(RMC_DATINI, GETDATE()) <= GETDATE() AND COALESCE(RMC_DATFIM, GETDATE()) >= GETDATE() AND RGM_REMCONHOR = 'BLO') AND ( SELECT DBO.FUNC_GET_CONFLITO_HORARIO_MAT( (SELECT STUFF( (SELECT ',' + CAST(TDI_TURDISID AS VARCHAR) FROM TB_TURMA_DISCIP INNER JOIN TB_REQUERIMENTOS_SOLIC_DET ON RSD_TDIIDDEST = TDI_TURDISID WHERE RSD_RSOID = RSO_ID FOR XML PATH('')), 1, 1, '') ), NULL, RSO_PESID) ) <> ''
2. Bloqueio de CH diferente de 30 horas:
SELECT COUNT(*) FROM (SELECT SUM(COALESCE(DIS_CHTEOEAD,0)+COALESCE(DIS_CHTEOPRE,0)+COALESCE(DIS_CHPRAPRE,0)+COALESCE(DIS_CHPRAEAD,0)) AS CH FROM TB_REQUERIMENTOS_SOLIC REQ INNER JOIN TB_REQUERIMENTOS_SOLIC_DET ON RSO_ID = RSD_RSOID INNER JOIN TB_TURMA_DISCIP ON RSD_TDIIDDEST = TDI_TURDISID INNER JOIN TB_DISCIPLINA ON DIS_DISID = TDI_DISCID WHERE REQ.RSO_ID = :REQUERIMENTO_NRO HAVING SUM(COALESCE(DIS_CHTEOEAD,0)+COALESCE(DIS_CHTEOPRE,0)+COALESCE(DIS_CHPRAPRE,0)+COALESCE(DIS_CHPRAEAD,0)) <> 30) AS CH
3. Bloqueio de fases 3 e 4:
SELECT COUNT(RSO_ID) FROM TB_REQUERIMENTOS_SOLIC REQ INNER JOIN TB_MESTRE_ALUNO ON MAL_ID = REQ.RSO_MALIDORI WHERE REQ.RSO_ID = :REQUERIMENTO_NRO AND MAL_FASE NOT IN (3,4) HAVING COUNT (RSO_ID) > 0
Execução do requerimento com a interface
Durante a solicitação do requerimento, ela será exibida com as disciplinas disponíveis para seleção:
Para baixar ou atualizar a PAD145 - REQ - Disciplinas optativas, clique aqui