Subversion Repositories Integrator Subversion

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 espaco 1
package br.gov.al.saude.scs.core.aceitacao.plugin;
2
 
3
import static br.gov.al.saude.test.ConstantesTestHelper.PRIMEIRO_REGISTRO_0;
4
import static br.gov.al.saude.test.ConstantesTestHelper.TAMANHO_DA_PAGINA_5;
5
import static br.gov.al.saude.test.ConstantesTestHelper.MensagensRetorno.*;
6
import static br.gov.al.saude.test.util.ConversorDeTipo.FORMAT_DATE_DD_MM_YYYY_HH_MM_SS;
7
import static br.gov.al.saude.test.util.ConversorDeTipo.converterStringParaDate;
8
import static br.gov.al.saude.test.util.ConversorDeTipo.converterStringParaInteger;
9
import static br.gov.al.saude.test.util.ConversorDeTipo.converterStringParaLong;
10
 
11
import java.util.List;
12
import java.util.Set;
13
 
14
import net.sf.jasperreports.engine.JasperPrint;
15
 
16
import org.springframework.beans.factory.annotation.Autowired;
17
 
18
import br.gov.al.saude.framework.core.util.DataUtils;
19
import br.gov.al.saude.framework.core.util.VerificadorUtil;
20
import br.gov.al.saude.sca.model.usuario.view.UsuarioView;
21
import br.gov.al.saude.scg.model.view.MunicipioView;
22
import br.gov.al.saude.scg.model.view.OrgaoView;
23
import br.gov.al.saude.scg.model.view.PessoaFisicaView;
24
import br.gov.al.saude.scg.model.view.UfView;
25
import br.gov.al.saude.scs.core.application.capacitacao.CapacitacaoFacade;
26
import br.gov.al.saude.scs.core.application.frequencia.FrequenciaFacade;
27
import br.gov.al.saude.scs.core.application.municipio.MunicipioFacade;
28
import br.gov.al.saude.scs.core.application.natureza.NaturezaFacade;
29
import br.gov.al.saude.scs.core.application.perfil.PerfilFacade;
30
import br.gov.al.saude.scs.core.application.relatorio.RelatorioFacade;
31
import br.gov.al.saude.scs.core.application.turma.TurmaFacade;
32
import br.gov.al.saude.scs.core.application.uf.UfFacade;
33
import br.gov.al.saude.scs.core.application.unidade.UnidadeFacade;
34
import br.gov.al.saude.scs.model.Capacitacao;
35
import br.gov.al.saude.scs.model.Frequencia;
36
import br.gov.al.saude.scs.model.Natureza;
37
import br.gov.al.saude.scs.model.Perfil;
38
import br.gov.al.saude.scs.model.Presenca;
39
import br.gov.al.saude.scs.model.Turma;
40
import br.gov.al.saude.scs.model.TurmaParticipante;
41
import br.gov.al.saude.scs.model.dto.ConsultaTurmaDTO;
42
import br.gov.al.saude.scs.model.dto.DespesasTurmaDTO;
43
import br.gov.al.saude.scs.model.dto.FrequenciaDTO;
44
import br.gov.al.saude.scs.model.dto.TurmaDTO;
45
import br.gov.al.saude.scs.model.view.UnidadeView;
46
import br.gov.al.saude.scs.parametros.ParametrosConsultarDespesasTurma;
47
import br.gov.al.saude.scs.parametros.ParametrosConsultarFrequencia;
48
import br.gov.al.saude.scs.parametros.ParametrosConsultarTurma;
49
import br.gov.al.saude.scs.parametros.ParametrosRelatorioCapacitacaoPorParticipante;
50
import br.gov.al.saude.scs.parametros.ParametrosRelatorioCapacitacaoPorPeriodo;
51
import br.gov.al.saude.scs.parametros.ParametrosRelatorioDespesas;
52
import br.gov.al.saude.scs.parametros.ParametrosRelatorioParticipantePorTurma;
53
import br.gov.al.saude.scs.parametros.ParametrosRelatorioParticipantesFaltantes;
54
import br.gov.al.saude.test.aceitacao.helper.CenarioTestHelper;
55
import br.gov.al.saude.test.aceitacao.plugin.TestPlugin;
56
import br.gov.al.saude.test.builder.CapacitacaoBuilder;
57
import br.gov.al.saude.test.builder.FrequenciaBuilder;
58
import br.gov.al.saude.test.builder.TurmaBuilder;
59
import br.gov.al.saude.test.builder.TurmaParticipanteBuilder;
60
import br.gov.al.saude.test.util.Command;
61
import br.gov.al.saude.test.util.StringUtils;
62
import br.gov.al.saude.test.util.VerificadorLancamentoException;
63
 
64
public class ApiTestPlugin implements TestPlugin {
65
 
66
        private static Integer TAMANHO_PAGINA_CINCO = StringUtils.valueInt(TAMANHO_DA_PAGINA_5);
67
        private static Integer PRIMEIRO_REGISTRO_ZERO = StringUtils.valueInt(PRIMEIRO_REGISTRO_0);
68
 
69
        private CapacitacaoFacade capacitacaoFacade;
70
        private TurmaFacade turmaFacade;
71
        private FrequenciaFacade frequenciaFacade;
72
        private CenarioTestHelper cenarioTestHelper;
73
        private RelatorioFacade relatorioFacade;
74
        private UnidadeFacade unidadeFacade;
75
        private UfFacade ufFacade;
76
        private MunicipioFacade municipioFacade;
77
        private NaturezaFacade naturezaFacade;
78
        private PerfilFacade perfilFacade;
79
 
80
        public void setUp() throws Exception {
81
                cenarioTestHelper.limparBanco();
82
        }
83
 
84
        public void tearDown() throws Exception {
85
                cenarioTestHelper.limparBanco();
86
        }
87
 
88
        @Autowired
89
        public ApiTestPlugin(CenarioTestHelper cenarioTestHelper, CapacitacaoFacade capacitacaoFacade, TurmaFacade turmaFacade,
90
                                                 FrequenciaFacade frequenciaFacade, RelatorioFacade relatorioFacade, UnidadeFacade unidadeFacade,
91
                                                 UfFacade ufFacade, MunicipioFacade municipioFacade, NaturezaFacade naturezaFacade,
92
                                                 PerfilFacade perfilFacade) {
93
                this.cenarioTestHelper = cenarioTestHelper;
94
                this.capacitacaoFacade = capacitacaoFacade;
95
                this.turmaFacade = turmaFacade;
96
                this.frequenciaFacade = frequenciaFacade;
97
                this.relatorioFacade = relatorioFacade;
98
                this.unidadeFacade = unidadeFacade;
99
                this.ufFacade = ufFacade;
100
                this.municipioFacade = municipioFacade;
101
                this.naturezaFacade = naturezaFacade;
102
                this.perfilFacade = perfilFacade;
103
        }
104
 
105
        @Override
106
        public String consultarCapacitacao(final String descricao) {
107
                return VerificadorLancamentoException.verificarMensagemLancamentoException(new Command() {
108
                        @Override
109
                        public String execute() throws Exception {
110
                                List<Capacitacao> capacitacoes = capacitacaoFacade.consultarPorDescricao(descricao, PRIMEIRO_REGISTRO_ZERO, TAMANHO_PAGINA_CINCO);
111
                                return cenarioTestHelper.gerarMensagemConsultar(capacitacoes);
112
                        }
113
                });
114
        }
115
 
116
        @Override
117
        public String cadastrarCapacitacao(String descricao, String sequencialNatureza, String formaPresenca) {
118
                final Capacitacao capacitacao = new CapacitacaoBuilder().comDescricao(descricao).comNatureza(sequencialNatureza)
119
                                .comTipoFormaPresenca(formaPresenca).build();
120
 
121
                return VerificadorLancamentoException.verificarMensagemLancamentoException(new Command() {
122
                        @Override
123
                        public String execute() throws Exception {
124
                                capacitacaoFacade.cadastrar(capacitacao);
125
                                Capacitacao capacitacaoConsultada = cenarioTestHelper.consultarCapacitacaoPorSequencial(capacitacao.getSequencial());
126
                                return DADOS_GRAVADOS_COM_SUCESSO + cenarioTestHelper.gerarMensagem(capacitacaoConsultada);
127
                        }
128
 
129
                });
130
        }
131
 
132
        @Override
133
        public String alterarCapacitacao(String sequencial, String descricao, String sequencialNatureza, String formaPresenca,
134
                        String indicadorAtivo) {
135
                final Capacitacao capacitacao = new CapacitacaoBuilder().comSequencial(sequencialNatureza).comDescricao(descricao)
136
                                .comNatureza(sequencialNatureza).comTipoFormaPresenca(formaPresenca).comIndicadorAtivo(indicadorAtivo).build();
137
 
138
                return VerificadorLancamentoException.verificarMensagemLancamentoException(new Command() {
139
                        @Override
140
                        public String execute() throws Exception {
141
                                capacitacaoFacade.alterar(capacitacao);
142
                                Capacitacao capacitacaoConsultada = cenarioTestHelper.consultarCapacitacaoPorSequencial(capacitacao.getSequencial());
143
                                return DADOS_GRAVADOS_COM_SUCESSO + cenarioTestHelper.gerarMensagem(capacitacaoConsultada);
144
                        }
145
 
146
                });
147
        }
148
 
149
        @Override
150
        public String consultarTurma(String sequencialCapacitacao, String indentificadorTurma, String anoExercicio, String dataAtual) {
151
                final Capacitacao capacitacao = VerificadorUtil.naoEstaNuloOuVazio(sequencialCapacitacao)?new CapacitacaoBuilder().comSequencial(sequencialCapacitacao).build():null;
152
                final Turma turma = new TurmaBuilder().comSequencial(indentificadorTurma).build();
153
                final Integer ano = StringUtils.valueInt(anoExercicio);
154
 
155
                DataUtils.setDataAtualParaOsTestes(converterStringParaDate(dataAtual, FORMAT_DATE_DD_MM_YYYY_HH_MM_SS));
156
 
157
                return VerificadorLancamentoException.verificarMensagemLancamentoException(new Command() {
158
                        @Override
159
                        public String execute() throws Exception {
160
                                ConsultaTurmaDTO consultaTurmaDTO = new ConsultaTurmaDTO(capacitacao, turma, ano);
161
                                List<Turma> turmas = turmaFacade.consultarTurma(PRIMEIRO_REGISTRO_ZERO, TAMANHO_PAGINA_CINCO, consultaTurmaDTO);
162
                                return cenarioTestHelper.gerarMensagemConsultar(turmas);
163
                        }
164
                });
165
        }
166
 
167
        @Override
168
        public String listarCapacitacoesAtivas(final String descricao) {
169
                return VerificadorLancamentoException.verificarMensagemLancamentoException(new Command() {
170
                        @Override
171
                        public String execute() throws Exception {
172
                                List<Capacitacao> capacitacoes = capacitacaoFacade.listarCapacitacoesAtivas(descricao, PRIMEIRO_REGISTRO_ZERO, TAMANHO_PAGINA_CINCO);
173
                                return cenarioTestHelper.gerarMensagemConsultar(capacitacoes);
174
                        }
175
                });
176
        }
177
 
178
        @Override
179
        public String cadastrarTurma(final String sequencialCapacitacao, final String anoExercicio, final String sequencialUnidadeSolicitante,
180
                        final String representantes, final String cargaHoraria, final String codigoUf, final String sequencialMunicipio, final String observacoes,
181
                        final String ementa, final String processos, final String participantes, final String periodos) {
182
 
183
                DataUtils.setDataAtualParaOsTestes(converterStringParaDate("05/09/2014 00:00:00", FORMAT_DATE_DD_MM_YYYY_HH_MM_SS));
184
 
185
                return VerificadorLancamentoException.verificarMensagemLancamentoException(new Command() {
186
                        @Override
187
                        public String execute() throws Exception {
188
                                Turma turma = new TurmaBuilder().comCapacitacao(sequencialCapacitacao).comAnoExercicio(anoExercicio).comUnidadeSolicitante(sequencialUnidadeSolicitante)
189
                                                .comRepresentantes(representantes).comCargaHoraria(cargaHoraria).comUf(codigoUf).comMunicipio(sequencialMunicipio).comObservacao(observacoes)
190
                                                .comEmenta(ementa).comProcessos(processos).comParticipantes(participantes).comPeriodos(periodos).build();
191
                                turmaFacade.cadastrar(turma);
192
                                Turma turmaConsultada = cenarioTestHelper.consultarTurmaPorSequencial(turma.getSequencial());
193
                                return DADOS_GRAVADOS_COM_SUCESSO + cenarioTestHelper.gerarMensagem(turmaConsultada);
194
                        }
195
                });
196
        }
197
 
198
        @Override
199
        public String alterarTurma(final String sequencialTurma, final String sequencialCapacitacao, final String anoExercicio, final String sequencialUnidadeSolicitante, final String representantes,
200
                        final String cargaHoraria, final String codigoUf, final String sequencialMunicipio, final String observacoes, final String ementa, final String processos,
201
                        final String participantes, final String periodos, final String indicadorAtivo) {
202
 
203
                DataUtils.setDataAtualParaOsTestes(converterStringParaDate("05/09/2014 00:00:00", FORMAT_DATE_DD_MM_YYYY_HH_MM_SS));
204
 
205
                return VerificadorLancamentoException.verificarMensagemLancamentoException(new Command() {
206
                        @Override
207
                        public String execute() throws Exception {
208
                                Turma turma = new TurmaBuilder().comSequencial(sequencialTurma).comCapacitacao(sequencialCapacitacao).comAnoExercicio(anoExercicio).comUnidadeSolicitante(sequencialUnidadeSolicitante)
209
                                                .comRepresentantes(representantes).comCargaHoraria(cargaHoraria).comUf(codigoUf).comMunicipio(sequencialMunicipio).comObservacao(observacoes)
210
                                                .comEmenta(ementa).comProcessos(processos).comParticipantes(participantes).comPeriodos(periodos).comIndicadorAtivo(indicadorAtivo).build();
211
                                turmaFacade.alterar(turma);
212
                                Turma turmaConsultada = cenarioTestHelper.consultarTurmaPorSequencial(turma.getSequencial());
213
                                return DADOS_GRAVADOS_COM_SUCESSO + cenarioTestHelper.gerarMensagem(turmaConsultada);
214
                        }
215
                });
216
        }
217
 
218
        @Override
219
        public String detalharTurma(final String sequencialTurma, String dataAtual) {
220
                DataUtils.setDataAtualParaOsTestes(converterStringParaDate(dataAtual, FORMAT_DATE_DD_MM_YYYY_HH_MM_SS));
221
                return VerificadorLancamentoException.verificarMensagemLancamentoException(new Command() {
222
                        @Override
223
                        public String execute() throws Exception {
224
                                Turma turma = turmaFacade.detalharTurma(converterStringParaLong(sequencialTurma));
225
                                return cenarioTestHelper.gerarMensagemTurmaDetalhado(turma);
226
                        }
227
                });
228
        }
229
 
230
        @Override
231
        public String consultarFrequencia(String indentificadorTurma) {
232
                final ParametrosConsultarFrequencia parametros = new ParametrosConsultarFrequencia(converterStringParaLong(indentificadorTurma), PRIMEIRO_REGISTRO_ZERO, TAMANHO_PAGINA_CINCO);
233
                return VerificadorLancamentoException.verificarMensagemLancamentoException(new Command() {
234
                        @Override
235
                        public String execute() throws Exception {
236
                                List<FrequenciaDTO> listaFrequencias = frequenciaFacade.consultarFrequenciaDTO(parametros);
237
                                return cenarioTestHelper.gerarMensagemConsultar(listaFrequencias);
238
                        }
239
                });
240
        }
241
 
242
        @Override
243
        public String listarTurmas(String sequencialUsuarioLogado, String sequencialCapacitacao,
244
                                                           String identificadorTurma, String numeroAnoExercicio, String dataAtual) {
245
                DataUtils.setDataAtualParaOsTestes(converterStringParaDate(dataAtual, FORMAT_DATE_DD_MM_YYYY_HH_MM_SS));
246
                UsuarioView usuarioLogado = cenarioTestHelper.consultarUsuarioPorSequencial(sequencialUsuarioLogado);
247
                final ParametrosConsultarTurma parametros = new ParametrosConsultarTurma(usuarioLogado,
248
                                                                                                                                                                 converterStringParaLong(sequencialCapacitacao),
249
                                                                                                                                                                 converterStringParaLong(identificadorTurma),
250
                                                                                                                                                                 converterStringParaInteger(numeroAnoExercicio),
251
                                                                                                                                                                 PRIMEIRO_REGISTRO_ZERO, TAMANHO_PAGINA_CINCO);
252
                return VerificadorLancamentoException.verificarMensagemLancamentoException(new Command() {
253
                        @Override
254
                        public String execute() throws Exception {
255
                                List<TurmaDTO> listaTurma = turmaFacade.consultarTurmaDTO(parametros);
256
                                return cenarioTestHelper.gerarMensagemConsultar(listaTurma);
257
                        }
258
                });
259
        }
260
 
261
        @Override
262
        public String cadastrarFrequencia(String indentificadorTurma, String dataHora, String listaPresencas) {
263
                final Frequencia frequencia = new FrequenciaBuilder()
264
                                                                                  .comTurma(indentificadorTurma)
265
                                                                                  .comData(dataHora)
266
                                                                                  .comPresencas(listaPresencas)
267
                                                                                  .build();
268
                return VerificadorLancamentoException.verificarMensagemLancamentoException(new Command() {
269
                        @Override
270
                        public String execute() throws Exception {
271
                                frequenciaFacade.cadastrar(frequencia);
272
                                Frequencia frequenciaConsultada = cenarioTestHelper.consultarFrequenciaPorSequencial(frequencia.getSequencial());
273
                                return cenarioTestHelper.gerarMensagem(frequenciaConsultada);
274
                        }
275
                });
276
        }
277
 
278
        @Override
279
        public String alterarFrequencia(String indentificadorFrequencia, String dataHora, String listaPresencas) {
280
                final Frequencia frequencia = cenarioTestHelper.consultarFrequenciaPorSequencial(converterStringParaLong(indentificadorFrequencia));
281
                Set<Presenca> presencas = cenarioTestHelper.gerarPresencas(listaPresencas, frequencia);
282
                frequencia.setData(converterStringParaDate(dataHora, FORMAT_DATE_DD_MM_YYYY_HH_MM_SS));
283
                frequencia.setPresencas(presencas);
284
                return VerificadorLancamentoException.verificarMensagemLancamentoException(new Command() {
285
                        @Override
286
                        public String execute() throws Exception {
287
                                frequenciaFacade.alterar(frequencia);
288
                                Frequencia frequenciaConsultada = cenarioTestHelper.consultarFrequenciaPorSequencial(frequencia.getSequencial());
289
                                return cenarioTestHelper.gerarMensagem(frequenciaConsultada);
290
                        }
291
                });
292
        }
293
 
294
        @Override
295
        public String detalharFrequencia(final String indentificadorFrequencia) {
296
                return VerificadorLancamentoException.verificarMensagemLancamentoException(new Command() {
297
                        @Override
298
                        public String execute() throws Exception {
299
                                Frequencia frequenciaDetalhada = frequenciaFacade.detalharFrequencia(converterStringParaLong(indentificadorFrequencia));
300
                                return cenarioTestHelper.gerarMensagem(frequenciaDetalhada);
301
                        }
302
                });
303
        }
304
 
305
        @Override
306
        public String validarFrequencia(final String indentificadorFrequencia) {
307
                return VerificadorLancamentoException.verificarMensagemLancamentoException(new Command() {
308
                        @Override
309
                        public String execute() throws Exception {
310
                                frequenciaFacade.validarFrequencia(converterStringParaLong(indentificadorFrequencia));
311
                                Frequencia frequenciaConsultada = cenarioTestHelper.consultarFrequenciaPorSequencial(converterStringParaLong(indentificadorFrequencia));
312
                                return cenarioTestHelper.gerarMensagem(frequenciaConsultada);
313
                        }
314
                });
315
        }
316
 
317
        @Override
318
        public String consultarPessoa(final String sequencialPessoaFisica) {
319
                return VerificadorLancamentoException.verificarMensagemLancamentoException(new Command() {
320
                        @Override
321
                        public String execute() throws Exception {
322
                                PessoaFisicaView pessoa = turmaFacade.consultarPessoa(converterStringParaLong(sequencialPessoaFisica));
323
                                return cenarioTestHelper.gerarMensagem(pessoa);
324
                        }
325
                });
326
        }
327
 
328
        @Override
329
        public String consultarIndicadorServidor(String sequencialPessoa) {
330
                final PessoaFisicaView pessoaFisica = new PessoaFisicaView();
331
                pessoaFisica.setSequencialPessoa(converterStringParaLong(sequencialPessoa));
332
                return VerificadorLancamentoException.verificarMensagemLancamentoException(new Command() {
333
                        @Override
334
                        public String execute() throws Exception {
335
                                Boolean identificador = turmaFacade.consultarIndicadorDeServidor(pessoaFisica);
336
                                String descricaoIdentificador = identificador == true ? "Sim" : "Não";
337
                                return DADOS_EXIBIDOS + "[Identificador de Servidor: '" + descricaoIdentificador + "']";
338
                        }
339
                });
340
        }
341
 
342
        @Override
343
        public String verificarAlertasDoParticipante(String sequencialParticipante, String sequencialTurma, String sequencialPessoa,
344
                                                                                                 String sequencialPerfil, String ano, String indicadorRemuneracao, String cargaHoraria,
345
                                                                                                 String participantes) {
346
                Perfil perfil = cenarioTestHelper.consultarPerfilPorSequencial(sequencialPerfil);
347
                Turma turma = new TurmaBuilder()
348
                                                  .comSequencial(sequencialTurma)
349
                                                  .comAnoExercicio(ano)
350
                                                  .build();
351
                final TurmaParticipante turmaParticipante = new TurmaParticipanteBuilder()
352
                                                                                                                .comSequencial(sequencialParticipante)
353
                                                                                                                .comPessoa(sequencialPessoa)
354
                                                                                                                .comPerfil(perfil)
355
                                                                                                                .comTurma(turma)
356
                                                                                                                .comIndicadorRemunerado(indicadorRemuneracao)
357
                                                                                                                .comCargaHorariaEspecifica(cargaHoraria)
358
                                                                                                                .build();
359
                final List<TurmaParticipante> listaParticipantes = cenarioTestHelper.gerarParticipantes(participantes);
360
                return VerificadorLancamentoException.verificarMensagemLancamentoException(new Command() {
361
                        @Override
362
                        public String execute() throws Exception {
363
                                turmaFacade.verificarAlertaDeRestricaoDoParticipante(turmaParticipante, listaParticipantes);
364
                                return DADOS_EXIBIDOS_VAZIO;
365
                        }
366
                });
367
        }
368
 
369
        @Override
370
        public String listarOrgaos() {
371
                return VerificadorLancamentoException.verificarMensagemLancamentoException(new Command() {
372
                        @Override
373
                        public String execute() throws Exception {
374
                                List<OrgaoView> listarOrgaos = turmaFacade.listarOrgaos();
375
                                return cenarioTestHelper.gerarMensagemConsultar(listarOrgaos);
376
                        }
377
                });
378
        }
379
 
380
        @Override
381
        public String verificarRestricaoParticipante(String sequencialUsuarioLogado, String sequencialTurma, final String sequencialPessoa) {
382
 
383
                final UsuarioView usuarioLogado = cenarioTestHelper.consultarUsuarioPorSequencial(sequencialUsuarioLogado);
384
                DataUtils.setDataAtualParaOsTestes(converterStringParaDate("05/07/2013 00:00:00", FORMAT_DATE_DD_MM_YYYY_HH_MM_SS));
385
 
386
                final TurmaParticipante turmaParticipante = new TurmaParticipante();
387
                PessoaFisicaView pessoa = new PessoaFisicaView();
388
                pessoa.setSequencialPessoa(Long.parseLong(sequencialPessoa));
389
                turmaParticipante.setPessoa(pessoa);
390
 
391
                return VerificadorLancamentoException.verificarMensagemLancamentoException(new Command() {
392
                        @Override
393
                        public String execute() throws Exception {
394
                                turmaFacade.verificarFaltasDoParticipante(usuarioLogado, turmaParticipante);
395
                                return "";
396
                        }
397
                });
398
        }
399
 
400
        @Override
401
        public String emitirRelatorioCapacitacaoPorParticipante(String sequencialPessoaFisica, String anoExercicio, String sequencialUsuarioLogado) {
402
                UsuarioView usuarioLogado = cenarioTestHelper.consultarUsuarioPorSequencial(sequencialUsuarioLogado);
403
                final ParametrosRelatorioCapacitacaoPorParticipante parametros = new ParametrosRelatorioCapacitacaoPorParticipante(usuarioLogado,
404
                                                                                                                                                                                                                                                   converterStringParaInteger(anoExercicio),
405
                                                                                                                                                                                                                                                   converterStringParaLong(sequencialPessoaFisica));
406
                return VerificadorLancamentoException.verificarMensagemLancamentoException(new Command() {
407
                        @Override
408
                        public String execute() throws Exception {
409
                                JasperPrint relatorioCapacitacaoPorParticipante = relatorioFacade.emitirRelatorioCapacitacaoPorParticipante(parametros);
410
                                return cenarioTestHelper.gerarMensagemRetornoJasper(relatorioCapacitacaoPorParticipante);
411
                        }
412
                });
413
        }
414
 
415
        @Override
416
        public String emitirRelatorioParticipantePorTurma(String sequencialTurma, String sequencialUsuarioLogado) {
417
                UsuarioView usuarioLogado = cenarioTestHelper.consultarUsuarioPorSequencial(sequencialUsuarioLogado);
418
                final ParametrosRelatorioParticipantePorTurma parametros = new ParametrosRelatorioParticipantePorTurma(usuarioLogado, converterStringParaLong(sequencialTurma));
419
                return VerificadorLancamentoException.verificarMensagemLancamentoException(new Command() {
420
                        @Override
421
                        public String execute() throws Exception {
422
                                JasperPrint relatorioParticipantePorTurma = relatorioFacade.emitirRelatorioParticipantePorTurma(parametros);
423
                                return cenarioTestHelper.gerarMensagemRetornoJasper(relatorioParticipantePorTurma);
424
                        }
425
                });
426
        }
427
 
428
        @Override
429
        public String emitirRelatorioParticipantesFaltantes(String anoExercicio, String sequencialUsuarioLogado) {
430
                UsuarioView usuarioLogado = cenarioTestHelper.consultarUsuarioPorSequencial(sequencialUsuarioLogado);
431
                final ParametrosRelatorioParticipantesFaltantes parametros = new ParametrosRelatorioParticipantesFaltantes(usuarioLogado, converterStringParaInteger(anoExercicio));
432
                return VerificadorLancamentoException.verificarMensagemLancamentoException(new Command() {
433
                        @Override
434
                        public String execute() throws Exception {
435
                                JasperPrint relatorioParticipantesFaltantes = relatorioFacade.emitirRelatorioParticipantesFaltantes(parametros);
436
                                return cenarioTestHelper.gerarMensagemRetornoJasper(relatorioParticipantesFaltantes);
437
                        }
438
                });
439
        }
440
 
441
        @Override
442
        public String emitirRelatorioCapacitacaoPorPeriodo(String sequencialUsuarioLogado, String dataInicio, String dataFinal) {
443
                UsuarioView usuarioLogado = cenarioTestHelper.consultarUsuarioPorSequencial(sequencialUsuarioLogado);
444
                final ParametrosRelatorioCapacitacaoPorPeriodo parametros = new ParametrosRelatorioCapacitacaoPorPeriodo(converterStringParaDate(dataInicio, FORMAT_DATE_DD_MM_YYYY_HH_MM_SS),
445
                                                                                                                                                                                         converterStringParaDate(dataFinal, FORMAT_DATE_DD_MM_YYYY_HH_MM_SS),
446
                                                                                                                                                                                         usuarioLogado);
447
                return VerificadorLancamentoException.verificarMensagemLancamentoException(new Command() {
448
                        @Override
449
                        public String execute() throws Exception {
450
                                JasperPrint relatorioCapacitacaoPorPeriodo = relatorioFacade.emitirRelatorioCapacitacaoPorPeriodo(parametros);
451
                                return cenarioTestHelper.gerarMensagemRetornoJasper(relatorioCapacitacaoPorPeriodo);
452
                        }
453
                });
454
        }
455
 
456
        @Override
457
        public String emitirRelatorioDespesas(String anoExercicio, String mes, String sequencialUsuarioLogado) {
458
                UsuarioView usuarioLogado = cenarioTestHelper.consultarUsuarioPorSequencial(sequencialUsuarioLogado);
459
                final ParametrosRelatorioDespesas parametros = new ParametrosRelatorioDespesas(usuarioLogado, converterStringParaInteger(anoExercicio), mes);
460
                return VerificadorLancamentoException.verificarMensagemLancamentoException(new Command() {
461
                        @Override
462
                        public String execute() throws Exception {
463
                                JasperPrint relatorioDespesas = relatorioFacade.emitirRelatorioDespesas(parametros);
464
                                return cenarioTestHelper.gerarMensagemRetornoJasper(relatorioDespesas);
465
                        }
466
                });
467
        }
468
 
469
        @Override
470
        public String consultarParticipantesTurma(final String sequencialTurma, String dataAtual) {
471
                DataUtils.setDataAtualParaOsTestes(converterStringParaDate(dataAtual, FORMAT_DATE_DD_MM_YYYY_HH_MM_SS));
472
                return VerificadorLancamentoException.verificarMensagemLancamentoException(new Command() {
473
                        @Override
474
                        public String execute() throws Exception {
475
                                Turma turma = turmaFacade.consultarTurmaComParticipantes(converterStringParaLong(sequencialTurma));
476
                                return cenarioTestHelper.gerarMensagemTurmaComParticipantes(turma);
477
                        }
478
                });
479
        }
480
 
481
        @Override
482
        public String emitirCertificado(String sequencialParticipante) {
483
                final TurmaParticipante participante = VerificadorUtil.naoEstaNuloOuVazio(sequencialParticipante) ? new TurmaParticipanteBuilder()
484
                                                                                                                                                                                                                                .comSequencial(sequencialParticipante)
485
                                                                                                                                                                                                                                .build()
486
                                                                                                                                                                                                                  : null;
487
                return VerificadorLancamentoException.verificarMensagemLancamentoException(new Command() {
488
                        @Override
489
                        public String execute() throws Exception {
490
                                JasperPrint certificado = relatorioFacade.emitirCertificado(participante);
491
                                return cenarioTestHelper.gerarMensagemRetornoJasper(certificado);
492
                        }
493
                });
494
        }
495
 
496
        @Override
497
        public String listarUnidades() {
498
                return VerificadorLancamentoException.verificarMensagemLancamentoException(new Command() {
499
                        @Override
500
                        public String execute() throws Exception {
501
                                List<UnidadeView> listaUnidades = unidadeFacade.listar();
502
                                return cenarioTestHelper.gerarMensagemConsultar(listaUnidades);
503
                        }
504
                });
505
        }
506
 
507
        @Override
508
        public String listarUnidadesFederativas() {
509
                return VerificadorLancamentoException.verificarMensagemLancamentoException(new Command() {
510
                        @Override
511
                        public String execute() throws Exception {
512
                                List<UfView> listaUfs = ufFacade.listar();
513
                                return cenarioTestHelper.gerarMensagemConsultar(listaUfs);
514
                        }
515
                });
516
        }
517
 
518
        @Override
519
        public String listarMunicipios(final String codigoUf) {
520
                return VerificadorLancamentoException.verificarMensagemLancamentoException(new Command() {
521
                        @Override
522
                        public String execute() throws Exception {
523
                                List<MunicipioView> listaMunicipios = municipioFacade.listar(codigoUf);
524
                                return cenarioTestHelper.gerarMensagemConsultar(listaMunicipios);
525
                        }
526
                });
527
        }
528
 
529
        @Override
530
        public String listarNaturezasCapacitacoes() {
531
                return VerificadorLancamentoException.verificarMensagemLancamentoException(new Command() {
532
                        @Override
533
                        public String execute() throws Exception {
534
                                List<Natureza> listaNatureza = naturezaFacade.listar();
535
                                return cenarioTestHelper.gerarMensagemConsultar(listaNatureza);
536
                        }
537
                });
538
        }
539
 
540
        @Override
541
        public String listarPerfisParticipantes() {
542
                return VerificadorLancamentoException.verificarMensagemLancamentoException(new Command() {
543
                        @Override
544
                        public String execute() throws Exception {
545
                                List<Perfil> listaPerfil = perfilFacade.listar();
546
                                return cenarioTestHelper.gerarMensagemConsultar(listaPerfil);
547
                        }
548
                });
549
        }
550
 
551
        @Override
552
        public String listarProcessos(String sequencialOrgao, String numeroProcesso, String numeroAno) {
553
                OrgaoView orgao = cenarioTestHelper.consultarOrgao(sequencialOrgao);
554
                final ParametrosConsultarDespesasTurma parametrosConsultarDespesasTurma = new ParametrosConsultarDespesasTurma(orgao, numeroProcesso, converterStringParaInteger(numeroAno));
555
                return VerificadorLancamentoException.verificarMensagemLancamentoException(new Command() {
556
                        @Override
557
                        public String execute() throws Exception {
558
                                DespesasTurmaDTO despesas = turmaFacade.consultarDespesasTurma(parametrosConsultarDespesasTurma);
559
                                return cenarioTestHelper.gerarMensagem(despesas);
560
                        }
561
                });
562
        }
563
 
564
}