Details | Last modification | View Log | RSS feed
| Rev | Author | Line No. | Line |
|---|---|---|---|
| 1 | espaco | 1 | package br.gov.al.saude.test.formatador; |
| 2 | |||
| 3 | import static br.gov.al.saude.test.ConstantesTestHelper.UtilConstantes.ESPACO; |
||
| 4 | import static br.gov.al.saude.test.ConstantesTestHelper.UtilConstantes.PONTO_VIRGULA; |
||
| 5 | import static br.gov.al.saude.test.util.ConversorDeTipo.FORMAT_DATE_DD_MM_YYYY_HH_MM_SS; |
||
| 6 | import static br.gov.al.saude.test.util.ConversorDeTipo.converterDateParaString; |
||
| 7 | |||
| 8 | import java.text.MessageFormat; |
||
| 9 | import java.util.ArrayList; |
||
| 10 | import java.util.List; |
||
| 11 | import java.util.Set; |
||
| 12 | |||
| 13 | import br.gov.al.saude.framework.core.util.ConversorDeTipo; |
||
| 14 | import br.gov.al.saude.framework.core.util.VerificadorUtil; |
||
| 15 | import br.gov.al.saude.scg.model.view.PessoaDocumentoView; |
||
| 16 | import br.gov.al.saude.scg.model.view.PessoaFisicaView; |
||
| 17 | import br.gov.al.saude.scs.model.Frequencia; |
||
| 18 | import br.gov.al.saude.scs.model.Turma; |
||
| 19 | import br.gov.al.saude.scs.model.TurmaParticipante; |
||
| 20 | import br.gov.al.saude.scs.model.TurmaPeriodo; |
||
| 21 | import br.gov.al.saude.scs.model.TurmaProcesso; |
||
| 22 | import br.gov.al.saude.scs.model.view.ProcessoOrcamentoView; |
||
| 23 | import br.gov.al.saude.test.util.formatador.impl.AbstractFormatadorDeMensagem; |
||
| 24 | |||
| 25 | public class FormatadorTurmaDetalhado extends AbstractFormatadorDeMensagem<Turma> { |
||
| 26 | |||
| 27 | @Override |
||
| 28 | protected String obterPadrao() { |
||
| 29 | |||
| 30 | StringBuilder mensagemPadrao = new StringBuilder(); |
||
| 31 | mensagemPadrao.append("Turma: "); |
||
| 32 | mensagemPadrao.append("Capacitação: ''{0}'', Identificador da Turma: ''{1}'', Ano de Exercício: ''{2}'', "); |
||
| 33 | mensagemPadrao.append("Unidade Solicitante: ''{3}'', "); |
||
| 34 | mensagemPadrao.append("Representantes: [{4}], "); |
||
| 35 | mensagemPadrao.append("Situação da Turma: ''{5}'', Carga Horária: ''{6}'', Unidade Federativa: ''{7}'', Município: ''{8}'', "); |
||
| 36 | mensagemPadrao.append("Observação: ''{9}'', Ementa: ''{10}'', Ativo: ''{11}'', "); |
||
| 37 | mensagemPadrao.append("Processos: [{12}], "); |
||
| 38 | mensagemPadrao.append("Participantes - Organizadores: [{13}], "); |
||
| 39 | mensagemPadrao.append("Participantes: [{14}], "); |
||
| 40 | mensagemPadrao.append("Períodos: [{15}], "); |
||
| 41 | mensagemPadrao.append("Frequências: [{16}]"); |
||
| 42 | |||
| 43 | return mensagemPadrao.toString(); |
||
| 44 | } |
||
| 45 | |||
| 46 | @Override |
||
| 47 | protected List<Object> gerarParametros(Turma turma) { |
||
| 48 | List<Object> listaParametros = new ArrayList<Object>(); |
||
| 49 | |||
| 50 | listaParametros.add(turma.getCapacitacao().getDescricao()); |
||
| 51 | listaParametros.add(turma.getSequencial()); |
||
| 52 | listaParametros.add(String.valueOf(turma.getAnoExercicio())); |
||
| 53 | listaParametros.add(turma.getUnidadeSolicitante().getDescricao()); |
||
| 54 | listaParametros.add(gerarStringRepresentantes(turma.getRepresentantes())); |
||
| 55 | listaParametros.add(turma.getSituacaoTurma()); |
||
| 56 | listaParametros.add(turma.getCargaHoraria()); |
||
| 57 | listaParametros.add(turma.getUf().getCodigo()); |
||
| 58 | listaParametros.add(turma.getMunicipio().getNomeMunicipio()); |
||
| 59 | listaParametros.add(VerificadorUtil.naoEstaNuloOuVazio(turma.getObservacao())?turma.getObservacao():""); |
||
| 60 | listaParametros.add(VerificadorUtil.naoEstaNuloOuVazio(turma.getEmenta())?turma.getEmenta():""); |
||
| 61 | listaParametros.add(turma.getIndicadorAtivo()?"SIM":"NÃO"); |
||
| 62 | listaParametros.add(gerarStringProcessos(turma.getProcessos())); |
||
| 63 | listaParametros.add(gerarStringParticipantesOrganizadores(turma.getParticipantes())); |
||
| 64 | listaParametros.add(gerarStringParticipantes(turma.getParticipantes())); |
||
| 65 | listaParametros.add(gerarStringPeriodos(turma.getPeriodos())); |
||
| 66 | listaParametros.add(gerarStringFrequencias(turma.getFrequencias())); |
||
| 67 | |||
| 68 | return listaParametros; |
||
| 69 | } |
||
| 70 | |||
| 71 | private String gerarStringFrequencias(Set<Frequencia> frequencias) { |
||
| 72 | StringBuilder mensagemFrequencias = new StringBuilder(); |
||
| 73 | for (Frequencia frequencia : frequencias){ |
||
| 74 | mensagemFrequencias.append(MessageFormat.format("Data e Hora: ''{0}'', Validado: ''{1}'', Ativo: ''{2}''", |
||
| 75 | converterDateParaString(frequencia.getData(), FORMAT_DATE_DD_MM_YYYY_HH_MM_SS), |
||
| 76 | frequencia.getIndicadorValidado()?"SIM":"NÃO", |
||
| 77 | frequencia.getIndicadorAtivo()?"SIM":"NÃO")) |
||
| 78 | .append(PONTO_VIRGULA) |
||
| 79 | .append(ESPACO); |
||
| 80 | } |
||
| 81 | return retirarUltimoPontoIhVirgulaComEspaco(mensagemFrequencias.toString()); |
||
| 82 | } |
||
| 83 | |||
| 84 | private String gerarStringPeriodos(Set<TurmaPeriodo> periodos) { |
||
| 85 | StringBuilder mensagemPeriodos = new StringBuilder(); |
||
| 86 | for (TurmaPeriodo periodo : periodos){ |
||
| 87 | mensagemPeriodos.append(MessageFormat.format("Data e Hora Inicial: ''{0}'', Data e Hora Final: ''{1}''", |
||
| 88 | converterDateParaString(periodo.getDataInicial(), FORMAT_DATE_DD_MM_YYYY_HH_MM_SS), |
||
| 89 | converterDateParaString(periodo.getDataFinal(), FORMAT_DATE_DD_MM_YYYY_HH_MM_SS))) |
||
| 90 | .append(PONTO_VIRGULA) |
||
| 91 | .append(ESPACO); |
||
| 92 | } |
||
| 93 | return retirarUltimoPontoIhVirgulaComEspaco(mensagemPeriodos.toString()); |
||
| 94 | } |
||
| 95 | |||
| 96 | private String gerarStringRepresentantes(Set<PessoaFisicaView> representantes) { |
||
| 97 | StringBuilder mensagemRepresentantes = new StringBuilder(); |
||
| 98 | for (PessoaFisicaView representante : representantes){ |
||
| 99 | mensagemRepresentantes.append(MessageFormat.format("Nome: ''{0}''", |
||
| 100 | VerificadorUtil.naoEstaNuloOuVazio(representante)?representante.getNomePessoa():"")) |
||
| 101 | .append(PONTO_VIRGULA) |
||
| 102 | .append(ESPACO); |
||
| 103 | } |
||
| 104 | return retirarUltimoPontoIhVirgulaComEspaco(mensagemRepresentantes.toString()); |
||
| 105 | } |
||
| 106 | |||
| 107 | private String gerarStringProcessos(Set<TurmaProcesso> processos) { |
||
| 108 | StringBuilder mensagemProcessos = new StringBuilder(); |
||
| 109 | for (TurmaProcesso processo : processos){ |
||
| 110 | mensagemProcessos.append(MessageFormat.format("Órgão: ''{0}'', Número do Processo: ''{1}'', Ano: ''{2}'', " |
||
| 111 | + "Despesas: [{3}]", |
||
| 112 | VerificadorUtil.naoEstaNuloOuVazio(processo.getOrgao())?String.valueOf(processo.getOrgao().getCodigo()):"", |
||
| 113 | VerificadorUtil.naoEstaNuloOuVazio(processo.getNumeroProcesso())?String.valueOf(processo.getNumeroProcesso()):"", |
||
| 114 | VerificadorUtil.naoEstaNuloOuVazio(processo.getAno())?String.valueOf(processo.getAno()):"", |
||
| 115 | gerarStringProcessosElementosDespesa(processo.getDespesasTurma().getElementosDespesa()))) |
||
| 116 | .append(PONTO_VIRGULA) |
||
| 117 | .append(ESPACO); |
||
| 118 | } |
||
| 119 | return retirarUltimoPontoIhVirgulaComEspaco(mensagemProcessos.toString()); |
||
| 120 | } |
||
| 121 | |||
| 122 | private String gerarStringProcessosElementosDespesa(List<ProcessoOrcamentoView> elementosDespesa) { |
||
| 123 | StringBuilder mensagemElementosDespesa = new StringBuilder(); |
||
| 124 | for (ProcessoOrcamentoView elemento : elementosDespesa){ |
||
| 125 | mensagemElementosDespesa.append(MessageFormat.format("Elemento de Despesa: ''{0}'', Fonte de Recurso: ''{1}'', Valor Orçado: ''{2}''", |
||
| 126 | VerificadorUtil.naoEstaNuloOuVazio(elemento.getElementoDespesa())?elemento.getElementoDespesa():"", |
||
| 127 | VerificadorUtil.naoEstaNuloOuVazio(elemento.getFonteRecurso())?elemento.getFonteRecurso():"", |
||
| 128 | VerificadorUtil.naoEstaNuloOuVazio(elemento.getValorOrcado())?String.valueOf(elemento.getValorOrcado()):"")) |
||
| 129 | .append(PONTO_VIRGULA) |
||
| 130 | .append(ESPACO); |
||
| 131 | } |
||
| 132 | return retirarUltimoPontoIhVirgulaComEspaco(mensagemElementosDespesa.toString()); |
||
| 133 | } |
||
| 134 | |||
| 135 | private String gerarStringParticipantesOrganizadores(Set<TurmaParticipante> participantesOrganizadores) { |
||
| 136 | StringBuilder mensagemParticipantesOrganizadores = new StringBuilder(); |
||
| 137 | for (TurmaParticipante participante : participantesOrganizadores){ |
||
| 138 | if (participante.getPerfil().getIndicadorOrganizador()) { |
||
| 139 | mensagemParticipantesOrganizadores.append(MessageFormat.format("Nome: ''{0}'', CPF: ''{1}'', Perfil: ''{2}'', Indicador de Servidor: ''{3}'', " |
||
| 140 | + "Indicador de Remuneração: ''{4}'', Carga Horária Específica: ''{5}''", |
||
| 141 | VerificadorUtil.naoEstaNuloOuVazio(participante.getPessoa())?participante.getPessoa().getNomePessoa():"", |
||
| 142 | recuperarCpfPessoa(participante.getPessoa().getDocumentos()), |
||
| 143 | participante.getPerfil().getDescricao(), |
||
| 144 | ConversorDeTipo.formatarBooleanParaString(participante.getIndicadorServidor(), "SIM", "NÃO"), |
||
| 145 | ConversorDeTipo.formatarBooleanParaString(participante.getIndicadorRemunerado(), "SIM", "NÃO"), |
||
| 146 | VerificadorUtil.naoEstaNuloOuVazio(participante.getCargaHorariaEspecifica())?participante.getCargaHorariaEspecifica():"")) |
||
| 147 | .append(PONTO_VIRGULA) |
||
| 148 | .append(ESPACO); |
||
| 149 | |||
| 150 | } |
||
| 151 | } |
||
| 152 | return retirarUltimoPontoIhVirgulaComEspaco(mensagemParticipantesOrganizadores.toString()); |
||
| 153 | } |
||
| 154 | |||
| 155 | private String gerarStringParticipantes(Set<TurmaParticipante> participantes) { |
||
| 156 | StringBuilder mensagemParticipantesOrganizadores = new StringBuilder(); |
||
| 157 | for (TurmaParticipante participante : participantes){ |
||
| 158 | if (participante.getPerfil().getIndicadorOrganizador() == false) { |
||
| 159 | mensagemParticipantesOrganizadores.append(MessageFormat.format("Nome: ''{0}'', CPF: ''{1}'', Perfil: ''{2}'', Indicador de Servidor: ''{3}'', " |
||
| 160 | + "Indicador de Remuneração: ''{4}'', Carga Horária Específica: ''{5}''", |
||
| 161 | VerificadorUtil.naoEstaNuloOuVazio(participante.getPessoa())?participante.getPessoa().getNomePessoa():"", |
||
| 162 | recuperarCpfPessoa(participante.getPessoa().getDocumentos()), |
||
| 163 | participante.getPerfil().getDescricao(), |
||
| 164 | ConversorDeTipo.formatarBooleanParaString(participante.getIndicadorServidor(), "SIM", "NÃO"), |
||
| 165 | ConversorDeTipo.formatarBooleanParaString(participante.getIndicadorRemunerado(), "SIM", "NÃO"), |
||
| 166 | VerificadorUtil.naoEstaNuloOuVazio(participante.getCargaHorariaEspecifica())?participante.getCargaHorariaEspecifica():"")) |
||
| 167 | .append(PONTO_VIRGULA) |
||
| 168 | .append(ESPACO); |
||
| 169 | |||
| 170 | } |
||
| 171 | } |
||
| 172 | return retirarUltimoPontoIhVirgulaComEspaco(mensagemParticipantesOrganizadores.toString()); |
||
| 173 | } |
||
| 174 | |||
| 175 | private String recuperarCpfPessoa(Set<PessoaDocumentoView> documentos) { |
||
| 176 | for (PessoaDocumentoView documento : documentos) { |
||
| 177 | if (documento.getSiglaTipoDocumento().equals("CPF")) { |
||
| 178 | return documento.getNumero(); |
||
| 179 | } |
||
| 180 | } |
||
| 181 | return null; |
||
| 182 | } |
||
| 183 | |||
| 184 | } |