@@ -21,7 +21,6 @@ public static function verifica($codpes, $codundclgi)
2121 ) {
2222 return true ;
2323 }
24-
2524 }
2625 }
2726 return false ;
@@ -176,15 +175,15 @@ public static function nomeHabilitacao($codhab, $codcur)
176175 return $ result ;
177176 }
178177
179- public static function obterCursosHabilitacoes ($ codundclgi )
178+ public static function obterCursosHabilitacoes ($ codundclg )
180179 {
181180 $ query = " SELECT CURSOGR.*, HABILITACAOGR.* FROM CURSOGR, HABILITACAOGR " ;
182- $ query .= " WHERE (CURSOGR.codclg = convert(int, :codundclgi)) AND (CURSOGR.codcur = HABILITACAOGR.codcur) " ;
181+ $ query .= " WHERE (CURSOGR.codclg IN ( :codundclgi)) AND (CURSOGR.codcur = HABILITACAOGR.codcur) " ;
183182 $ query .= " AND ( (CURSOGR.dtaatvcur IS NOT NULL) AND (CURSOGR.dtadtvcur IS NULL) ) " ;
184183 $ query .= " AND ( (HABILITACAOGR.dtaatvhab IS NOT NULL) AND (HABILITACAOGR.dtadtvhab IS NULL) ) " ;
185184 $ query .= " ORDER BY CURSOGR.nomcur, HABILITACAOGR.nomhab ASC " ;
186185 $ param = [
187- 'codundclgi ' => $ codundclgi ,
186+ 'codundclg ' => $ codundclg ,
188187 ];
189188 return DB ::fetchAll ($ query , $ param );
190189 }
@@ -373,6 +372,39 @@ public static function disciplinasEquivalentesCurriculo($codcur, $codhab)
373372 return DB ::fetchAll ($ query , $ param );
374373 }
375374
375+ /**
376+ * Retorna o setor de um aluno
377+ * É igual ao método setorAluno, mas chama o método obterCursoAtivo, que permite mais de um codundclg
378+ *
379+ * @param Int $codpes
380+ * @param $codundclg
381+ * @return Array(nomabvset)
382+ */
383+ public static function obterSetorAluno ($ codpes , $ codundclg )
384+ {
385+
386+ $ codundclg = $ codundclg ?: getenv ('REPLICADO_CODUNDCLGS ' );
387+ $ codundclg = $ codundclg ?: getenv ('REPLICADO_CODUNDCLG ' );
388+
389+ $ codcur = self ::obterCursoAtivo ($ codpes )['codcur ' ];
390+ $ codhab = self ::obterCursoAtivo ($ codpes )['codhab ' ];
391+ $ query = " SELECT TOP 1 L.nomabvset FROM CURSOGRCOORDENADOR AS C
392+ INNER JOIN LOCALIZAPESSOA AS L ON C.codpesdct = L.codpes
393+ WHERE C.codcur = CONVERT(INT, :codcur) AND C.codhab = CONVERT(INT, :codhab) " ;
394+ $ param = [
395+ 'codcur ' => $ codcur ,
396+ 'codhab ' => $ codhab ,
397+ ];
398+ $ result = DB ::fetch ($ query , $ param );
399+ // Nota: Situação a se tratar com log de ocorrências
400+ // Se o departamento de ensino do alguno de graduação não foi encontrado
401+ if ($ result == false ) {
402+ // Será retornado 'DEPARTAMENTO NÃO ENCONTRADO' a fim de se detectar as situações ATÍPICAS em que isso ocorre
403+ $ result = ['nomabvset ' => 'DEPARTAMENTO NÃO ENCONTRADO ' ];
404+ }
405+ return $ result ;
406+ }
407+
376408 /**
377409 * Departamento de Ensino do Aluno de Graduação
378410 *
@@ -772,7 +804,8 @@ public static function listarDisciplinasAlunoAnoSemestre(int $codpes, int $anoSe
772804 * @return Array
773805 * @author Kawan Santana, em 19/03/2024
774806 */
775- public static function listarDepartamentosDeEnsino (){
807+ public static function listarDepartamentosDeEnsino ()
808+ {
776809 $ query = DB ::getQuery ('Graduacao.listarDepartamentosDeEnsino.sql ' );
777810 return DB ::fetchAll ($ query );
778811 }
0 commit comments