package br.gov.al.saude.scs.core.domain.turma;
import java.util.List;
import br.gov.al.saude.framework.core.generic.GenericService;
import br.gov.al.saude.sca.model.usuario.view.UsuarioView;
import br.gov.al.saude.scg.model.view.OrgaoView;
import br.gov.al.saude.scg.model.view.PessoaFisicaView;
import br.gov.al.saude.scs.model.Turma;
import br.gov.al.saude.scs.model.TurmaParticipante;
import br.gov.al.saude.scs.model.dto.ConsultaTurmaDTO;
import br.gov.al.saude.scs.model.dto.DespesasTurmaDTO;
import br.gov.al.saude.scs.model.dto.TurmaDTO;
import br.gov.al.saude.scs.parametros.ParametrosConsultarDespesasTurma;
import br.gov.al.saude.scs.parametros.ParametrosConsultarTurma;
public interface TurmaService
extends GenericService
<Turma
>{
String MENSAGEM_DATA_INICIAL_DO_PERIODO_NAO_PODE_SER_POSTERIOR_A_DATA_FINAL =
"A data inicial do período não pode ser posterior a data final.";
String MENSAGEM_ORGANIZADOR_JA_ULTRAPASSOU_AS_120_HORAS_DE_CARGA_HORARIA_REMUNERADA_NO_ANO =
"O organizador já ultrapassou as 120 horas de carga horária remunerada no ano.";
String MENSAGEM_PARTICIPANTE_NAO_PODERA_SER_INSERIDO_EM_TURMAS_FAVOR_CONSULTAR_GERENCIA_DE_EDUCACAO_EM_SAUDE_GESTAO_DE_PESSOAS_ATRAVES_DO_TELEFONE_3315_1476_PARA_OUTRAS_INFORMACOES =
"O participante não poderá ser inserido em turmas. Favor consultar a Gerência de Educação em Saúde/Gestão de Pessoas, através do telefone 3315-1476, para outras informações.";
List<Turma
> consultarTurma
(Integer primeiroRegistro,
Integer tamanhoPagina, ConsultaTurmaDTO consultaTurmaDTO
);
List<TurmaDTO
> consultarTurmaDTO
(ParametrosConsultarTurma parametros
);
int obterQuantidadeRegistrosConsultarTurmaDTO
(ParametrosConsultarTurma parametros
);
Turma detalharTurma
(Long sequencialTurma
);
PessoaFisicaView consultarPessoa
(Long sequencialPessoa
);
String verificarAlertasDoParticipante
(Long sequencialParticipante
);
List<OrgaoView
> listarOrgaos
();
void verificarFaltasDoParticipante
(UsuarioView usuarioLogado, TurmaParticipante turmaParticipante
);
Turma consultarTurmaComParticipantes
(Long sequencialTurma
);
DespesasTurmaDTO consultarDespesasTurma
(ParametrosConsultarDespesasTurma parametros
);
int obterQuantidadeDeRegistrosConsultarTurma
(ConsultaTurmaDTO consultaTurmaDTO
);
void verificarAlertaDeRestricaoDoParticipante
(TurmaParticipante turmaParticipante,
List<TurmaParticipante
> participantes
);
Boolean consultarIndicadorDeServidor
(PessoaFisicaView pessoa
);
}