Commit 5cb629968a8e1994ec69635d8450423b60c4c9e1
1 parent
c54a19f5
Exists in
master
git-svn-id: https://svn.bento.ifrs.edu.br/default/ASES/e-selo@9657 c2178572-b5ca…
…-4887-91d2-9e3a90c7d55b
Showing
1 changed file
with
73 additions
and
0 deletions
Show diff stats
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/component/CopiadorParametroAvaliacao.java
0 → 100644
@@ -0,0 +1,73 @@ | @@ -0,0 +1,73 @@ | ||
1 | +package br.com.eselo.component; | ||
2 | + | ||
3 | +import java.util.Date; | ||
4 | + | ||
5 | +import org.hibernate.Session; | ||
6 | + | ||
7 | +import br.com.eselo.dao.ParametroAvaliacaoDAO; | ||
8 | +import br.com.eselo.dao.UsuarioDAO; | ||
9 | +import br.com.eselo.model.Criterio; | ||
10 | +import br.com.eselo.model.Faixa; | ||
11 | +import br.com.eselo.model.ParametroAvaliacao; | ||
12 | +import br.com.eselo.model.Recomendacao; | ||
13 | +import br.com.eselo.model.Usuario; | ||
14 | + | ||
15 | +public class CopiadorParametroAvaliacao { | ||
16 | + | ||
17 | + public void criarNovoParametroAvaliacao(ParametroAvaliacao ultimoParametroAvaliacao, UsuarioWeb usuarioWeb, Session session) { | ||
18 | + | ||
19 | + ParametroAvaliacaoDAO parametroAvaliacaoDAO = new ParametroAvaliacaoDAO(session); | ||
20 | + | ||
21 | + UsuarioDAO usuarioDAO = new UsuarioDAO(session); | ||
22 | + Usuario usuario = usuarioDAO.load(usuarioWeb.getId()); | ||
23 | + | ||
24 | + // Cria o parametro | ||
25 | + ParametroAvaliacao novoParametroAvaliacao = new ParametroAvaliacao(); | ||
26 | + novoParametroAvaliacao.setUsuario(usuario); | ||
27 | + novoParametroAvaliacao.setTsInicio(new Date()); | ||
28 | + novoParametroAvaliacao.setTsFim(null); | ||
29 | + | ||
30 | + for(Recomendacao recomendacao:ultimoParametroAvaliacao.getRecomendacoes()){ | ||
31 | + | ||
32 | + Recomendacao novaRecomendacao = new Recomendacao(); | ||
33 | + novaRecomendacao.setParametroAvaliacao(novoParametroAvaliacao); | ||
34 | + novaRecomendacao.setNumeroRecomendacao(recomendacao.getNumeroRecomendacao()); | ||
35 | + novaRecomendacao.setDescricao(recomendacao.getDescricao()); | ||
36 | + novaRecomendacao.setPeso(recomendacao.getPeso()); | ||
37 | + novaRecomendacao.setTipoRecomendacao(recomendacao.getTipoRecomendacao()); | ||
38 | + | ||
39 | + for(Criterio criterio: recomendacao.getCriterios()){ | ||
40 | + | ||
41 | + Criterio novoCriterio = new Criterio(); | ||
42 | + novoCriterio.setRecomendacao(novaRecomendacao); | ||
43 | + novoCriterio.setNumeroCriterio(criterio.getNumeroCriterio()); | ||
44 | + novoCriterio.setDescricao(criterio.getDescricao()); | ||
45 | + novoCriterio.setPeso(criterio.getPeso()); | ||
46 | + novoCriterio.setTipoTeste(criterio.getTipoTeste()); | ||
47 | + | ||
48 | + for(Faixa faixa: criterio.getFaixas()){ | ||
49 | + Faixa novaFaixa = new Faixa(); | ||
50 | + novaFaixa.setCriterio(novoCriterio); | ||
51 | + novaFaixa.setDescricao(faixa.getDescricao()); | ||
52 | + novaFaixa.setFaixa(faixa.getFaixa()); | ||
53 | + novaFaixa.setFaixaInicio(faixa.getFaixaInicio()); | ||
54 | + novaFaixa.setFaixaFim(faixa.getFaixaFim()); | ||
55 | + novaFaixa.setPercentualConformidade(faixa.getPercentualConformidade()); | ||
56 | + | ||
57 | + novoCriterio.addFaixa(novaFaixa); | ||
58 | + } | ||
59 | + | ||
60 | + novaRecomendacao.addCriterio(novoCriterio); | ||
61 | + } | ||
62 | + | ||
63 | + novoParametroAvaliacao.addRecomendacao(novaRecomendacao); | ||
64 | + } | ||
65 | + | ||
66 | + // Salva novo e atualiza o ultimo | ||
67 | + parametroAvaliacaoDAO.save(novoParametroAvaliacao); | ||
68 | + ultimoParametroAvaliacao = parametroAvaliacaoDAO.load(ultimoParametroAvaliacao.getId()); | ||
69 | + ultimoParametroAvaliacao.setTsFim(novoParametroAvaliacao.getTsInicio()); | ||
70 | + parametroAvaliacaoDAO.update(ultimoParametroAvaliacao); | ||
71 | + } | ||
72 | + | ||
73 | +} |