Subversion Repositories Integrator Subversion

Rev

Blame | Last modification | View Log | Download | RSS feed

package br.gov.al.saude.test.formatador;

import java.util.ArrayList;
import java.util.List;

import br.gov.al.saude.framework.core.util.ConversorDeTipo;
import br.gov.al.saude.rhd.model.Avaliacao;
import br.gov.al.saude.rhd.model.RevisaoAvaliacao;
import br.gov.al.saude.test.util.StringUtils;
import br.gov.al.saude.test.util.formatador.impl.AbstractFormatadorDeMensagem;

public class FormatadorAvaliacao extends AbstractFormatadorDeMensagem<Avaliacao> {

        private static final String PADRAO_AVALIACAO = "Matricula: ''{0}'', " +
                                                                                                   "Nota de Desempenho: ''{1}'', Revisões:''{2}''; " +
                                                                                                   "Nota de Assiduidade: ''{3}'', Revisões:''{4}''; " +
                                                                                                   "Nota de Qualificação: ''{5}'', Revisões:''{6}''; " +
                                                                                                   "Nota de Pontuação Extra: ''{7}''; " +
                                                                                                   "Resultado Final: ''{8}'';";
       
        @Override
        protected String obterPadrao() {
                return PADRAO_AVALIACAO;
        }

        @Override
        protected List<Object> gerarParametros(Avaliacao avaliacao) {
                List<Object> listaParametros = new ArrayList<Object>();
                listaParametros.add(StringUtils.valueString(avaliacao.getMatriculaServidorDadoFuncional()));
                listaParametros.add(avaliacao.getNotaDesempenho());
                listaParametros.add(retornarStringListaDeRevisaoAvaliacao(avaliacao.getRevisoesAvaliacaoDesempenho()));
                listaParametros.add(avaliacao.getNotaAssiduidade());
                listaParametros.add(retornarStringListaDeRevisaoAvaliacao(avaliacao.getRevisoesAvaliacaoAssiduidade()));
                listaParametros.add(avaliacao.getNotaQualificacao());
                listaParametros.add(retornarStringListaDeRevisaoAvaliacao(avaliacao.getRevisoesAvaliacaoQualificacao()));
                listaParametros.add(avaliacao.getNotaPontuacaoExtra());
                listaParametros.add(avaliacao.getNotaResultadoFinal());
                return listaParametros;
        }
       
        private String retornarStringListaDeRevisaoAvaliacao(List<RevisaoAvaliacao> revisoes){
                String retorno = "[";
                for (RevisaoAvaliacao revisaoAvaliacao : revisoes) {
                        retorno += "Revisão: " + revisaoAvaliacao.getDescricaoTipoRevisao() + ", Nota: " + revisaoAvaliacao.getNota() +
                        ", Data: " + ConversorDeTipo.converterDateParaString(revisaoAvaliacao.getDataHoraCadastro(), "dd/MM/yyyy")  + ", Solicitação: "+ revisaoAvaliacao.getSolicitacao() + ", Resposta: " +
                        revisaoAvaliacao.getResposta();
                }
                retorno += "]";
                return retorno;
        }

}