PAD145 REQ - Disciplinas optativas

Esta interface é utilizada para a seleção de disciplinas optativas do aluno. Ela foi homologada para uso no requerimento.

Regras:

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.



  • Importar a interface através do gerador de interfaces do mentor;
  • Vincular a Interface como interface de um requerimento.

  • 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

Voltar

  • (edição externa)