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
;
}
}