package br.gov.al.saude.scs.core.aceitacao.plugin;
import static br.gov.al.saude.test.ConstantesTestHelper.PRIMEIRO_REGISTRO_0;
import static br.gov.al.saude.test.ConstantesTestHelper.TAMANHO_DA_PAGINA_5;
import static br.gov.al.saude.test.ConstantesTestHelper.MensagensRetorno.*;
import static br.gov.al.saude.test.util.ConversorDeTipo.FORMAT_DATE_DD_MM_YYYY_HH_MM_SS;
import static br.gov.al.saude.test.util.ConversorDeTipo.converterStringParaDate;
import static br.gov.al.saude.test.util.ConversorDeTipo.converterStringParaInteger;
import static br.gov.al.saude.test.util.ConversorDeTipo.converterStringParaLong;
import java.util.List;
import java.util.Set;
import net.sf.jasperreports.engine.JasperPrint;
import org.springframework.beans.factory.annotation.Autowired;
import br.gov.al.saude.framework.core.util.DataUtils;
import br.gov.al.saude.framework.core.util.VerificadorUtil;
import br.gov.al.saude.sca.model.usuario.view.UsuarioView;
import br.gov.al.saude.scg.model.view.MunicipioView;
import br.gov.al.saude.scg.model.view.OrgaoView;
import br.gov.al.saude.scg.model.view.PessoaFisicaView;
import br.gov.al.saude.scg.model.view.UfView;
import br.gov.al.saude.scs.core.application.capacitacao.CapacitacaoFacade;
import br.gov.al.saude.scs.core.application.frequencia.FrequenciaFacade;
import br.gov.al.saude.scs.core.application.municipio.MunicipioFacade;
import br.gov.al.saude.scs.core.application.natureza.NaturezaFacade;
import br.gov.al.saude.scs.core.application.perfil.PerfilFacade;
import br.gov.al.saude.scs.core.application.relatorio.RelatorioFacade;
import br.gov.al.saude.scs.core.application.turma.TurmaFacade;
import br.gov.al.saude.scs.core.application.uf.UfFacade;
import br.gov.al.saude.scs.core.application.unidade.UnidadeFacade;
import br.gov.al.saude.scs.model.Capacitacao;
import br.gov.al.saude.scs.model.Frequencia;
import br.gov.al.saude.scs.model.Natureza;
import br.gov.al.saude.scs.model.Perfil;
import br.gov.al.saude.scs.model.Presenca;
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.FrequenciaDTO;
import br.gov.al.saude.scs.model.dto.TurmaDTO;
import br.gov.al.saude.scs.model.view.UnidadeView;
import br.gov.al.saude.scs.parametros.ParametrosConsultarDespesasTurma;
import br.gov.al.saude.scs.parametros.ParametrosConsultarFrequencia;
import br.gov.al.saude.scs.parametros.ParametrosConsultarTurma;
import br.gov.al.saude.scs.parametros.ParametrosRelatorioCapacitacaoPorParticipante;
import br.gov.al.saude.scs.parametros.ParametrosRelatorioCapacitacaoPorPeriodo;
import br.gov.al.saude.scs.parametros.ParametrosRelatorioDespesas;
import br.gov.al.saude.scs.parametros.ParametrosRelatorioParticipantePorTurma;
import br.gov.al.saude.scs.parametros.ParametrosRelatorioParticipantesFaltantes;
import br.gov.al.saude.test.aceitacao.helper.CenarioTestHelper;
import br.gov.al.saude.test.aceitacao.plugin.TestPlugin;
import br.gov.al.saude.test.builder.CapacitacaoBuilder;
import br.gov.al.saude.test.builder.FrequenciaBuilder;
import br.gov.al.saude.test.builder.TurmaBuilder;
import br.gov.al.saude.test.builder.TurmaParticipanteBuilder;
import br.gov.al.saude.test.util.Command;
import br.gov.al.saude.test.util.StringUtils;
import br.gov.al.saude.test.util.VerificadorLancamentoException;
public class ApiTestPlugin
implements TestPlugin
{
private static Integer TAMANHO_PAGINA_CINCO = StringUtils.
valueInt(TAMANHO_DA_PAGINA_5
);
private static Integer PRIMEIRO_REGISTRO_ZERO = StringUtils.
valueInt(PRIMEIRO_REGISTRO_0
);
private CapacitacaoFacade capacitacaoFacade
;
private TurmaFacade turmaFacade
;
private FrequenciaFacade frequenciaFacade
;
private CenarioTestHelper cenarioTestHelper
;
private RelatorioFacade relatorioFacade
;
private UnidadeFacade unidadeFacade
;
private UfFacade ufFacade
;
private MunicipioFacade municipioFacade
;
private NaturezaFacade naturezaFacade
;
private PerfilFacade perfilFacade
;
public void setUp
() throws Exception {
cenarioTestHelper.
limparBanco();
}
public void tearDown
() throws Exception {
cenarioTestHelper.
limparBanco();
}
@Autowired
public ApiTestPlugin
(CenarioTestHelper cenarioTestHelper, CapacitacaoFacade capacitacaoFacade, TurmaFacade turmaFacade,
FrequenciaFacade frequenciaFacade, RelatorioFacade relatorioFacade, UnidadeFacade unidadeFacade,
UfFacade ufFacade, MunicipioFacade municipioFacade, NaturezaFacade naturezaFacade,
PerfilFacade perfilFacade
) {
this.
cenarioTestHelper = cenarioTestHelper
;
this.
capacitacaoFacade = capacitacaoFacade
;
this.
turmaFacade = turmaFacade
;
this.
frequenciaFacade = frequenciaFacade
;
this.
relatorioFacade = relatorioFacade
;
this.
unidadeFacade = unidadeFacade
;
this.
ufFacade = ufFacade
;
this.
municipioFacade = municipioFacade
;
this.
naturezaFacade = naturezaFacade
;
this.
perfilFacade = perfilFacade
;
}
@
Override
public String consultarCapacitacao
(final String descricao
) {
return VerificadorLancamentoException.
verificarMensagemLancamentoException(new Command
() {
@
Override
public String execute
() throws Exception {
List<Capacitacao
> capacitacoes = capacitacaoFacade.
consultarPorDescricao(descricao, PRIMEIRO_REGISTRO_ZERO, TAMANHO_PAGINA_CINCO
);
return cenarioTestHelper.
gerarMensagemConsultar(capacitacoes
);
}
});
}
@
Override
public String cadastrarCapacitacao
(String descricao,
String sequencialNatureza,
String formaPresenca
) {
final Capacitacao capacitacao =
new CapacitacaoBuilder
().
comDescricao(descricao
).
comNatureza(sequencialNatureza
)
.
comTipoFormaPresenca(formaPresenca
).
build();
return VerificadorLancamentoException.
verificarMensagemLancamentoException(new Command
() {
@
Override
public String execute
() throws Exception {
capacitacaoFacade.
cadastrar(capacitacao
);
Capacitacao capacitacaoConsultada = cenarioTestHelper.
consultarCapacitacaoPorSequencial(capacitacao.
getSequencial());
return DADOS_GRAVADOS_COM_SUCESSO + cenarioTestHelper.
gerarMensagem(capacitacaoConsultada
);
}
});
}
@
Override
public String alterarCapacitacao
(String sequencial,
String descricao,
String sequencialNatureza,
String formaPresenca,
String indicadorAtivo
) {
final Capacitacao capacitacao =
new CapacitacaoBuilder
().
comSequencial(sequencialNatureza
).
comDescricao(descricao
)
.
comNatureza(sequencialNatureza
).
comTipoFormaPresenca(formaPresenca
).
comIndicadorAtivo(indicadorAtivo
).
build();
return VerificadorLancamentoException.
verificarMensagemLancamentoException(new Command
() {
@
Override
public String execute
() throws Exception {
capacitacaoFacade.
alterar(capacitacao
);
Capacitacao capacitacaoConsultada = cenarioTestHelper.
consultarCapacitacaoPorSequencial(capacitacao.
getSequencial());
return DADOS_GRAVADOS_COM_SUCESSO + cenarioTestHelper.
gerarMensagem(capacitacaoConsultada
);
}
});
}
@
Override
public String consultarTurma
(String sequencialCapacitacao,
String indentificadorTurma,
String anoExercicio,
String dataAtual
) {
final Capacitacao capacitacao = VerificadorUtil.
naoEstaNuloOuVazio(sequencialCapacitacao
)?new CapacitacaoBuilder
().
comSequencial(sequencialCapacitacao
).
build():
null;
final Turma turma =
new TurmaBuilder
().
comSequencial(indentificadorTurma
).
build();
final Integer ano = StringUtils.
valueInt(anoExercicio
);
DataUtils.
setDataAtualParaOsTestes(converterStringParaDate
(dataAtual, FORMAT_DATE_DD_MM_YYYY_HH_MM_SS
));
return VerificadorLancamentoException.
verificarMensagemLancamentoException(new Command
() {
@
Override
public String execute
() throws Exception {
ConsultaTurmaDTO consultaTurmaDTO =
new ConsultaTurmaDTO
(capacitacao, turma, ano
);
List<Turma
> turmas = turmaFacade.
consultarTurma(PRIMEIRO_REGISTRO_ZERO, TAMANHO_PAGINA_CINCO, consultaTurmaDTO
);
return cenarioTestHelper.
gerarMensagemConsultar(turmas
);
}
});
}
@
Override
public String listarCapacitacoesAtivas
(final String descricao
) {
return VerificadorLancamentoException.
verificarMensagemLancamentoException(new Command
() {
@
Override
public String execute
() throws Exception {
List<Capacitacao
> capacitacoes = capacitacaoFacade.
listarCapacitacoesAtivas(descricao, PRIMEIRO_REGISTRO_ZERO, TAMANHO_PAGINA_CINCO
);
return cenarioTestHelper.
gerarMensagemConsultar(capacitacoes
);
}
});
}
@
Override
public String cadastrarTurma
(final String sequencialCapacitacao,
final String anoExercicio,
final String sequencialUnidadeSolicitante,
final String representantes,
final String cargaHoraria,
final String codigoUf,
final String sequencialMunicipio,
final String observacoes,
final String ementa,
final String processos,
final String participantes,
final String periodos
) {
DataUtils.
setDataAtualParaOsTestes(converterStringParaDate
("05/09/2014 00:00:00", FORMAT_DATE_DD_MM_YYYY_HH_MM_SS
));
return VerificadorLancamentoException.
verificarMensagemLancamentoException(new Command
() {
@
Override
public String execute
() throws Exception {
Turma turma =
new TurmaBuilder
().
comCapacitacao(sequencialCapacitacao
).
comAnoExercicio(anoExercicio
).
comUnidadeSolicitante(sequencialUnidadeSolicitante
)
.
comRepresentantes(representantes
).
comCargaHoraria(cargaHoraria
).
comUf(codigoUf
).
comMunicipio(sequencialMunicipio
).
comObservacao(observacoes
)
.
comEmenta(ementa
).
comProcessos(processos
).
comParticipantes(participantes
).
comPeriodos(periodos
).
build();
turmaFacade.
cadastrar(turma
);
Turma turmaConsultada = cenarioTestHelper.
consultarTurmaPorSequencial(turma.
getSequencial());
return DADOS_GRAVADOS_COM_SUCESSO + cenarioTestHelper.
gerarMensagem(turmaConsultada
);
}
});
}
@
Override
public String alterarTurma
(final String sequencialTurma,
final String sequencialCapacitacao,
final String anoExercicio,
final String sequencialUnidadeSolicitante,
final String representantes,
final String cargaHoraria,
final String codigoUf,
final String sequencialMunicipio,
final String observacoes,
final String ementa,
final String processos,
final String participantes,
final String periodos,
final String indicadorAtivo
) {
DataUtils.
setDataAtualParaOsTestes(converterStringParaDate
("05/09/2014 00:00:00", FORMAT_DATE_DD_MM_YYYY_HH_MM_SS
));
return VerificadorLancamentoException.
verificarMensagemLancamentoException(new Command
() {
@
Override
public String execute
() throws Exception {
Turma turma =
new TurmaBuilder
().
comSequencial(sequencialTurma
).
comCapacitacao(sequencialCapacitacao
).
comAnoExercicio(anoExercicio
).
comUnidadeSolicitante(sequencialUnidadeSolicitante
)
.
comRepresentantes(representantes
).
comCargaHoraria(cargaHoraria
).
comUf(codigoUf
).
comMunicipio(sequencialMunicipio
).
comObservacao(observacoes
)
.
comEmenta(ementa
).
comProcessos(processos
).
comParticipantes(participantes
).
comPeriodos(periodos
).
comIndicadorAtivo(indicadorAtivo
).
build();
turmaFacade.
alterar(turma
);
Turma turmaConsultada = cenarioTestHelper.
consultarTurmaPorSequencial(turma.
getSequencial());
return DADOS_GRAVADOS_COM_SUCESSO + cenarioTestHelper.
gerarMensagem(turmaConsultada
);
}
});
}
@
Override
public String detalharTurma
(final String sequencialTurma,
String dataAtual
) {
DataUtils.
setDataAtualParaOsTestes(converterStringParaDate
(dataAtual, FORMAT_DATE_DD_MM_YYYY_HH_MM_SS
));
return VerificadorLancamentoException.
verificarMensagemLancamentoException(new Command
() {
@
Override
public String execute
() throws Exception {
Turma turma = turmaFacade.
detalharTurma(converterStringParaLong
(sequencialTurma
));
return cenarioTestHelper.
gerarMensagemTurmaDetalhado(turma
);
}
});
}
@
Override
public String consultarFrequencia
(String indentificadorTurma
) {
final ParametrosConsultarFrequencia parametros =
new ParametrosConsultarFrequencia
(converterStringParaLong
(indentificadorTurma
), PRIMEIRO_REGISTRO_ZERO, TAMANHO_PAGINA_CINCO
);
return VerificadorLancamentoException.
verificarMensagemLancamentoException(new Command
() {
@
Override
public String execute
() throws Exception {
List<FrequenciaDTO
> listaFrequencias = frequenciaFacade.
consultarFrequenciaDTO(parametros
);
return cenarioTestHelper.
gerarMensagemConsultar(listaFrequencias
);
}
});
}
@
Override
public String listarTurmas
(String sequencialUsuarioLogado,
String sequencialCapacitacao,
String identificadorTurma,
String numeroAnoExercicio,
String dataAtual
) {
DataUtils.
setDataAtualParaOsTestes(converterStringParaDate
(dataAtual, FORMAT_DATE_DD_MM_YYYY_HH_MM_SS
));
UsuarioView usuarioLogado = cenarioTestHelper.
consultarUsuarioPorSequencial(sequencialUsuarioLogado
);
final ParametrosConsultarTurma parametros =
new ParametrosConsultarTurma
(usuarioLogado,
converterStringParaLong
(sequencialCapacitacao
),
converterStringParaLong
(identificadorTurma
),
converterStringParaInteger
(numeroAnoExercicio
),
PRIMEIRO_REGISTRO_ZERO, TAMANHO_PAGINA_CINCO
);
return VerificadorLancamentoException.
verificarMensagemLancamentoException(new Command
() {
@
Override
public String execute
() throws Exception {
List<TurmaDTO
> listaTurma = turmaFacade.
consultarTurmaDTO(parametros
);
return cenarioTestHelper.
gerarMensagemConsultar(listaTurma
);
}
});
}
@
Override
public String cadastrarFrequencia
(String indentificadorTurma,
String dataHora,
String listaPresencas
) {
final Frequencia frequencia =
new FrequenciaBuilder
()
.
comTurma(indentificadorTurma
)
.
comData(dataHora
)
.
comPresencas(listaPresencas
)
.
build();
return VerificadorLancamentoException.
verificarMensagemLancamentoException(new Command
() {
@
Override
public String execute
() throws Exception {
frequenciaFacade.
cadastrar(frequencia
);
Frequencia frequenciaConsultada = cenarioTestHelper.
consultarFrequenciaPorSequencial(frequencia.
getSequencial());
return cenarioTestHelper.
gerarMensagem(frequenciaConsultada
);
}
});
}
@
Override
public String alterarFrequencia
(String indentificadorFrequencia,
String dataHora,
String listaPresencas
) {
final Frequencia frequencia = cenarioTestHelper.
consultarFrequenciaPorSequencial(converterStringParaLong
(indentificadorFrequencia
));
Set<Presenca
> presencas = cenarioTestHelper.
gerarPresencas(listaPresencas, frequencia
);
frequencia.
setData(converterStringParaDate
(dataHora, FORMAT_DATE_DD_MM_YYYY_HH_MM_SS
));
frequencia.
setPresencas(presencas
);
return VerificadorLancamentoException.
verificarMensagemLancamentoException(new Command
() {
@
Override
public String execute
() throws Exception {
frequenciaFacade.
alterar(frequencia
);
Frequencia frequenciaConsultada = cenarioTestHelper.
consultarFrequenciaPorSequencial(frequencia.
getSequencial());
return cenarioTestHelper.
gerarMensagem(frequenciaConsultada
);
}
});
}
@
Override
public String detalharFrequencia
(final String indentificadorFrequencia
) {
return VerificadorLancamentoException.
verificarMensagemLancamentoException(new Command
() {
@
Override
public String execute
() throws Exception {
Frequencia frequenciaDetalhada = frequenciaFacade.
detalharFrequencia(converterStringParaLong
(indentificadorFrequencia
));
return cenarioTestHelper.
gerarMensagem(frequenciaDetalhada
);
}
});
}
@
Override
public String validarFrequencia
(final String indentificadorFrequencia
) {
return VerificadorLancamentoException.
verificarMensagemLancamentoException(new Command
() {
@
Override
public String execute
() throws Exception {
frequenciaFacade.
validarFrequencia(converterStringParaLong
(indentificadorFrequencia
));
Frequencia frequenciaConsultada = cenarioTestHelper.
consultarFrequenciaPorSequencial(converterStringParaLong
(indentificadorFrequencia
));
return cenarioTestHelper.
gerarMensagem(frequenciaConsultada
);
}
});
}
@
Override
public String consultarPessoa
(final String sequencialPessoaFisica
) {
return VerificadorLancamentoException.
verificarMensagemLancamentoException(new Command
() {
@
Override
public String execute
() throws Exception {
PessoaFisicaView pessoa = turmaFacade.
consultarPessoa(converterStringParaLong
(sequencialPessoaFisica
));
return cenarioTestHelper.
gerarMensagem(pessoa
);
}
});
}
@
Override
public String consultarIndicadorServidor
(String sequencialPessoa
) {
final PessoaFisicaView pessoaFisica =
new PessoaFisicaView
();
pessoaFisica.
setSequencialPessoa(converterStringParaLong
(sequencialPessoa
));
return VerificadorLancamentoException.
verificarMensagemLancamentoException(new Command
() {
@
Override
public String execute
() throws Exception {
Boolean identificador = turmaFacade.
consultarIndicadorDeServidor(pessoaFisica
);
String descricaoIdentificador = identificador ==
true ? "Sim" :
"Não";
return DADOS_EXIBIDOS +
"[Identificador de Servidor: '" + descricaoIdentificador +
"']";
}
});
}
@
Override
public String verificarAlertasDoParticipante
(String sequencialParticipante,
String sequencialTurma,
String sequencialPessoa,
String sequencialPerfil,
String ano,
String indicadorRemuneracao,
String cargaHoraria,
String participantes
) {
Perfil perfil = cenarioTestHelper.
consultarPerfilPorSequencial(sequencialPerfil
);
Turma turma =
new TurmaBuilder
()
.
comSequencial(sequencialTurma
)
.
comAnoExercicio(ano
)
.
build();
final TurmaParticipante turmaParticipante =
new TurmaParticipanteBuilder
()
.
comSequencial(sequencialParticipante
)
.
comPessoa(sequencialPessoa
)
.
comPerfil(perfil
)
.
comTurma(turma
)
.
comIndicadorRemunerado(indicadorRemuneracao
)
.
comCargaHorariaEspecifica(cargaHoraria
)
.
build();
final List<TurmaParticipante
> listaParticipantes = cenarioTestHelper.
gerarParticipantes(participantes
);
return VerificadorLancamentoException.
verificarMensagemLancamentoException(new Command
() {
@
Override
public String execute
() throws Exception {
turmaFacade.
verificarAlertaDeRestricaoDoParticipante(turmaParticipante, listaParticipantes
);
return DADOS_EXIBIDOS_VAZIO
;
}
});
}
@
Override
public String listarOrgaos
() {
return VerificadorLancamentoException.
verificarMensagemLancamentoException(new Command
() {
@
Override
public String execute
() throws Exception {
List<OrgaoView
> listarOrgaos = turmaFacade.
listarOrgaos();
return cenarioTestHelper.
gerarMensagemConsultar(listarOrgaos
);
}
});
}
@
Override
public String verificarRestricaoParticipante
(String sequencialUsuarioLogado,
String sequencialTurma,
final String sequencialPessoa
) {
final UsuarioView usuarioLogado = cenarioTestHelper.
consultarUsuarioPorSequencial(sequencialUsuarioLogado
);
DataUtils.
setDataAtualParaOsTestes(converterStringParaDate
("05/07/2013 00:00:00", FORMAT_DATE_DD_MM_YYYY_HH_MM_SS
));
final TurmaParticipante turmaParticipante =
new TurmaParticipante
();
PessoaFisicaView pessoa =
new PessoaFisicaView
();
pessoa.
setSequencialPessoa(Long.
parseLong(sequencialPessoa
));
turmaParticipante.
setPessoa(pessoa
);
return VerificadorLancamentoException.
verificarMensagemLancamentoException(new Command
() {
@
Override
public String execute
() throws Exception {
turmaFacade.
verificarFaltasDoParticipante(usuarioLogado, turmaParticipante
);
return "";
}
});
}
@
Override
public String emitirRelatorioCapacitacaoPorParticipante
(String sequencialPessoaFisica,
String anoExercicio,
String sequencialUsuarioLogado
) {
UsuarioView usuarioLogado = cenarioTestHelper.
consultarUsuarioPorSequencial(sequencialUsuarioLogado
);
final ParametrosRelatorioCapacitacaoPorParticipante parametros =
new ParametrosRelatorioCapacitacaoPorParticipante
(usuarioLogado,
converterStringParaInteger
(anoExercicio
),
converterStringParaLong
(sequencialPessoaFisica
));
return VerificadorLancamentoException.
verificarMensagemLancamentoException(new Command
() {
@
Override
public String execute
() throws Exception {
JasperPrint relatorioCapacitacaoPorParticipante = relatorioFacade.
emitirRelatorioCapacitacaoPorParticipante(parametros
);
return cenarioTestHelper.
gerarMensagemRetornoJasper(relatorioCapacitacaoPorParticipante
);
}
});
}
@
Override
public String emitirRelatorioParticipantePorTurma
(String sequencialTurma,
String sequencialUsuarioLogado
) {
UsuarioView usuarioLogado = cenarioTestHelper.
consultarUsuarioPorSequencial(sequencialUsuarioLogado
);
final ParametrosRelatorioParticipantePorTurma parametros =
new ParametrosRelatorioParticipantePorTurma
(usuarioLogado, converterStringParaLong
(sequencialTurma
));
return VerificadorLancamentoException.
verificarMensagemLancamentoException(new Command
() {
@
Override
public String execute
() throws Exception {
JasperPrint relatorioParticipantePorTurma = relatorioFacade.
emitirRelatorioParticipantePorTurma(parametros
);
return cenarioTestHelper.
gerarMensagemRetornoJasper(relatorioParticipantePorTurma
);
}
});
}
@
Override
public String emitirRelatorioParticipantesFaltantes
(String anoExercicio,
String sequencialUsuarioLogado
) {
UsuarioView usuarioLogado = cenarioTestHelper.
consultarUsuarioPorSequencial(sequencialUsuarioLogado
);
final ParametrosRelatorioParticipantesFaltantes parametros =
new ParametrosRelatorioParticipantesFaltantes
(usuarioLogado, converterStringParaInteger
(anoExercicio
));
return VerificadorLancamentoException.
verificarMensagemLancamentoException(new Command
() {
@
Override
public String execute
() throws Exception {
JasperPrint relatorioParticipantesFaltantes = relatorioFacade.
emitirRelatorioParticipantesFaltantes(parametros
);
return cenarioTestHelper.
gerarMensagemRetornoJasper(relatorioParticipantesFaltantes
);
}
});
}
@
Override
public String emitirRelatorioCapacitacaoPorPeriodo
(String sequencialUsuarioLogado,
String dataInicio,
String dataFinal
) {
UsuarioView usuarioLogado = cenarioTestHelper.
consultarUsuarioPorSequencial(sequencialUsuarioLogado
);
final ParametrosRelatorioCapacitacaoPorPeriodo parametros =
new ParametrosRelatorioCapacitacaoPorPeriodo
(converterStringParaDate
(dataInicio, FORMAT_DATE_DD_MM_YYYY_HH_MM_SS
),
converterStringParaDate
(dataFinal, FORMAT_DATE_DD_MM_YYYY_HH_MM_SS
),
usuarioLogado
);
return VerificadorLancamentoException.
verificarMensagemLancamentoException(new Command
() {
@
Override
public String execute
() throws Exception {
JasperPrint relatorioCapacitacaoPorPeriodo = relatorioFacade.
emitirRelatorioCapacitacaoPorPeriodo(parametros
);
return cenarioTestHelper.
gerarMensagemRetornoJasper(relatorioCapacitacaoPorPeriodo
);
}
});
}
@
Override
public String emitirRelatorioDespesas
(String anoExercicio,
String mes,
String sequencialUsuarioLogado
) {
UsuarioView usuarioLogado = cenarioTestHelper.
consultarUsuarioPorSequencial(sequencialUsuarioLogado
);
final ParametrosRelatorioDespesas parametros =
new ParametrosRelatorioDespesas
(usuarioLogado, converterStringParaInteger
(anoExercicio
), mes
);
return VerificadorLancamentoException.
verificarMensagemLancamentoException(new Command
() {
@
Override
public String execute
() throws Exception {
JasperPrint relatorioDespesas = relatorioFacade.
emitirRelatorioDespesas(parametros
);
return cenarioTestHelper.
gerarMensagemRetornoJasper(relatorioDespesas
);
}
});
}
@
Override
public String consultarParticipantesTurma
(final String sequencialTurma,
String dataAtual
) {
DataUtils.
setDataAtualParaOsTestes(converterStringParaDate
(dataAtual, FORMAT_DATE_DD_MM_YYYY_HH_MM_SS
));
return VerificadorLancamentoException.
verificarMensagemLancamentoException(new Command
() {
@
Override
public String execute
() throws Exception {
Turma turma = turmaFacade.
consultarTurmaComParticipantes(converterStringParaLong
(sequencialTurma
));
return cenarioTestHelper.
gerarMensagemTurmaComParticipantes(turma
);
}
});
}
@
Override
public String emitirCertificado
(String sequencialParticipante
) {
final TurmaParticipante participante = VerificadorUtil.
naoEstaNuloOuVazio(sequencialParticipante
) ? new TurmaParticipanteBuilder
()
.
comSequencial(sequencialParticipante
)
.
build()
:
null;
return VerificadorLancamentoException.
verificarMensagemLancamentoException(new Command
() {
@
Override
public String execute
() throws Exception {
JasperPrint certificado = relatorioFacade.
emitirCertificado(participante
);
return cenarioTestHelper.
gerarMensagemRetornoJasper(certificado
);
}
});
}
@
Override
public String listarUnidades
() {
return VerificadorLancamentoException.
verificarMensagemLancamentoException(new Command
() {
@
Override
public String execute
() throws Exception {
List<UnidadeView
> listaUnidades = unidadeFacade.
listar();
return cenarioTestHelper.
gerarMensagemConsultar(listaUnidades
);
}
});
}
@
Override
public String listarUnidadesFederativas
() {
return VerificadorLancamentoException.
verificarMensagemLancamentoException(new Command
() {
@
Override
public String execute
() throws Exception {
List<UfView
> listaUfs = ufFacade.
listar();
return cenarioTestHelper.
gerarMensagemConsultar(listaUfs
);
}
});
}
@
Override
public String listarMunicipios
(final String codigoUf
) {
return VerificadorLancamentoException.
verificarMensagemLancamentoException(new Command
() {
@
Override
public String execute
() throws Exception {
List<MunicipioView
> listaMunicipios = municipioFacade.
listar(codigoUf
);
return cenarioTestHelper.
gerarMensagemConsultar(listaMunicipios
);
}
});
}
@
Override
public String listarNaturezasCapacitacoes
() {
return VerificadorLancamentoException.
verificarMensagemLancamentoException(new Command
() {
@
Override
public String execute
() throws Exception {
List<Natureza
> listaNatureza = naturezaFacade.
listar();
return cenarioTestHelper.
gerarMensagemConsultar(listaNatureza
);
}
});
}
@
Override
public String listarPerfisParticipantes
() {
return VerificadorLancamentoException.
verificarMensagemLancamentoException(new Command
() {
@
Override
public String execute
() throws Exception {
List<Perfil
> listaPerfil = perfilFacade.
listar();
return cenarioTestHelper.
gerarMensagemConsultar(listaPerfil
);
}
});
}
@
Override
public String listarProcessos
(String sequencialOrgao,
String numeroProcesso,
String numeroAno
) {
OrgaoView orgao = cenarioTestHelper.
consultarOrgao(sequencialOrgao
);
final ParametrosConsultarDespesasTurma parametrosConsultarDespesasTurma =
new ParametrosConsultarDespesasTurma
(orgao, numeroProcesso, converterStringParaInteger
(numeroAno
));
return VerificadorLancamentoException.
verificarMensagemLancamentoException(new Command
() {
@
Override
public String execute
() throws Exception {
DespesasTurmaDTO despesas = turmaFacade.
consultarDespesasTurma(parametrosConsultarDespesasTurma
);
return cenarioTestHelper.
gerarMensagem(despesas
);
}
});
}
}