Commit 7ee61edaff5c279362759dfed023319c0f4ef58b

Authored by magno.oliveira
1 parent 9dcf62a0
Exists in master

Alteração nos parametros de avaliação [parcial]

git-svn-id: https://svn.bento.ifrs.edu.br/default/ASES/e-selo@9650 c2178572-b5ca-4887-91d2-9e3a90c7d55b
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/ParametroAvaliacaoController.java
1 package br.com.eselo.controller; 1 package br.com.eselo.controller;
2 2
3 import java.util.ArrayList; 3 import java.util.ArrayList;
  4 +import java.util.Date;
4 import java.util.List; 5 import java.util.List;
5 6
6 import br.com.caelum.vraptor.Get; 7 import br.com.caelum.vraptor.Get;
@@ -16,6 +17,7 @@ import br.com.eselo.component.UsuarioWeb; @@ -16,6 +17,7 @@ import br.com.eselo.component.UsuarioWeb;
16 import br.com.eselo.dao.ParametroAvaliacaoDAO; 17 import br.com.eselo.dao.ParametroAvaliacaoDAO;
17 import br.com.eselo.dao.RecomendacaoDAO; 18 import br.com.eselo.dao.RecomendacaoDAO;
18 import br.com.eselo.dao.UsuarioDAO; 19 import br.com.eselo.dao.UsuarioDAO;
  20 +import br.com.eselo.model.Criterio;
19 import br.com.eselo.model.Faixa; 21 import br.com.eselo.model.Faixa;
20 import br.com.eselo.model.ParametroAvaliacao; 22 import br.com.eselo.model.ParametroAvaliacao;
21 import br.com.eselo.model.Recomendacao; 23 import br.com.eselo.model.Recomendacao;
@@ -30,7 +32,6 @@ import br.com.eselo.model.Usuario; @@ -30,7 +32,6 @@ import br.com.eselo.model.Usuario;
30 public class ParametroAvaliacaoController { 32 public class ParametroAvaliacaoController {
31 33
32 private final ParametroAvaliacaoDAO dao; 34 private final ParametroAvaliacaoDAO dao;
33 - private final RecomendacaoDAO daoRecomendacao;  
34 private final Result result; 35 private final Result result;
35 private final Validator validator; 36 private final Validator validator;
36 private final UsuarioWeb usuarioWeb; 37 private final UsuarioWeb usuarioWeb;
@@ -39,7 +40,6 @@ public class ParametroAvaliacaoController { @@ -39,7 +40,6 @@ public class ParametroAvaliacaoController {
39 RecomendacaoDAO _daoRecomendacao, Result _result, Validator _validator, 40 RecomendacaoDAO _daoRecomendacao, Result _result, Validator _validator,
40 UsuarioWeb _usuarioWeb) { 41 UsuarioWeb _usuarioWeb) {
41 dao = _dao; 42 dao = _dao;
42 - daoRecomendacao = _daoRecomendacao;  
43 result = _result; 43 result = _result;
44 validator = _validator; 44 validator = _validator;
45 usuarioWeb = _usuarioWeb; 45 usuarioWeb = _usuarioWeb;
@@ -226,63 +226,60 @@ public class ParametroAvaliacaoController { @@ -226,63 +226,60 @@ public class ParametroAvaliacaoController {
226 } 226 }
227 227
228 private void criarNovoParametroAvaliacao() { 228 private void criarNovoParametroAvaliacao() {
229 - ParametroAvaliacao ultimoParametroAvaliacao = dao  
230 - .getLastParametrosAvaliacao(); 229 + this.criarNovoParametroAvaliacao(dao.getLastParametrosAvaliacao());
  230 + }
  231 +
  232 + private void criarNovoParametroAvaliacao(ParametroAvaliacao ultimoParametroAvaliacao) {
231 233
232 UsuarioDAO uDao = new UsuarioDAO(dao.getSession()); 234 UsuarioDAO uDao = new UsuarioDAO(dao.getSession());
233 Usuario usuario = uDao.load(usuarioWeb.getId()); 235 Usuario usuario = uDao.load(usuarioWeb.getId());
234 236
235 // Cria o parametro 237 // Cria o parametro
236 - ParametroAvaliacao parametroAvaliacao = new ParametroAvaliacao();  
237 - parametroAvaliacao.setUsuario(usuario);  
238 - parametroAvaliacao.setTsInicio(new java.util.Date(System  
239 - .currentTimeMillis()));  
240 - parametroAvaliacao.setTsFim(null);  
241 -  
242 - ultimoParametroAvaliacao.setTsFim(parametroAvaliacao.getTsInicio());  
243 -  
244 - ParametroAvaliacaoDAO paDao = new ParametroAvaliacaoDAO(  
245 - dao.getSession());  
246 -  
247 - // Cria a lista das diretrizes  
248 - List<Recomendacao> listaCadastrada = daoRecomendacao  
249 - .recomendacoesDoUltimoParametro(ultimoParametroAvaliacao);  
250 -  
251 - // Salva novo e atualiza o ultimo  
252 - paDao.save(parametroAvaliacao);  
253 - paDao.update(ultimoParametroAvaliacao);  
254 -  
255 - // Salva as diretrizes para nova avaliação  
256 - Recomendacao novaRecomendacao;  
257 - Faixa conformidade;  
258 - //TODO  
259 - /*  
260 - for (Recomendacao recomendacaoCadastrada : listaCadastrada) {  
261 - novaRecomendacao = new Recomendacao();  
262 - novaRecomendacao.setParametroAvaliacao(parametroAvaliacao);  
263 - novaRecomendacao.setDescricao(recomendacaoCadastrada.getDescricao());  
264 - novaRecomendacao.setPeso(recomendacaoCadastrada.getPeso());  
265 - novaRecomendacao.setNumeroRecomendacao(recomendacaoCadastrada  
266 - .getNumeroRecomendacao());  
267 - novaRecomendacao.setTipoRecomendacao(recomendacaoCadastrada.getTipoRecomendacao());  
268 - novaRecomendacao.setConformidades(new ArrayList<Faixa>());  
269 -  
270 - if (recomendacaoCadastrada.getConformidades().size() > 0) {  
271 - for (Faixa conformidadeCadastrada : recomendacaoCadastrada  
272 - .getConformidades()) {  
273 - conformidade = new Faixa();  
274 - conformidade.setFaixaInicio(conformidadeCadastrada  
275 - .getFaixaInicio());  
276 - conformidade.setFaixaFim(conformidadeCadastrada  
277 - .getFaixaFim());  
278 - conformidade.setRecomendacao(novaRecomendacao);  
279 -  
280 - novaRecomendacao.getConformidades().add(conformidade); 238 + ParametroAvaliacao novoParametroAvaliacao = new ParametroAvaliacao();
  239 + novoParametroAvaliacao.setUsuario(usuario);
  240 + novoParametroAvaliacao.setTsInicio(new Date());
  241 + novoParametroAvaliacao.setTsFim(null);
  242 +
  243 + for(Recomendacao recomendacao:ultimoParametroAvaliacao.getRecomendacoes()){
  244 +
  245 + Recomendacao novaRecomendacao = new Recomendacao();
  246 + novaRecomendacao.setParametroAvaliacao(novoParametroAvaliacao);
  247 + novaRecomendacao.setNumeroRecomendacao(recomendacao.getNumeroRecomendacao());
  248 + novaRecomendacao.setDescricao(recomendacao.getDescricao());
  249 + novaRecomendacao.setPeso(recomendacao.getPeso());
  250 + novaRecomendacao.setTipoRecomendacao(recomendacao.getTipoRecomendacao());
  251 +
  252 + for(Criterio criterio: recomendacao.getCriterios()){
  253 +
  254 + Criterio novoCriterio = new Criterio();
  255 + novoCriterio.setRecomendacao(novaRecomendacao);
  256 + novoCriterio.setNumeroCriterio(criterio.getNumeroCriterio());
  257 + novoCriterio.setDescricao(criterio.getDescricao());
  258 + novoCriterio.setPeso(criterio.getPeso());
  259 + novoCriterio.setTipoTeste(criterio.getTipoTeste());
  260 +
  261 + for(Faixa faixa: criterio.getFaixas()){
  262 + Faixa novaFaixa = new Faixa();
  263 + novaFaixa.setCriterio(novoCriterio);
  264 + novaFaixa.setDescricao(faixa.getDescricao());
  265 + novaFaixa.setFaixa(faixa.getFaixa());
  266 + novaFaixa.setFaixaInicio(faixa.getFaixaInicio());
  267 + novaFaixa.setFaixaFim(faixa.getFaixaFim());
  268 + novaFaixa.setPercentualConformidade(faixa.getPercentualConformidade());
  269 +
  270 + novoCriterio.addFaixa(novaFaixa);
281 } 271 }
  272 +
  273 + novaRecomendacao.addCriterio(novoCriterio);
282 } 274 }
283 -  
284 - // daoRecomendacao.save(novaRecomendacao);  
285 - }*/ 275 +
  276 + novoParametroAvaliacao.addRecomendacao(novaRecomendacao);
  277 + }
  278 +
  279 + // Salva novo e atualiza o ultimo
  280 + dao.save(novoParametroAvaliacao);
  281 + ultimoParametroAvaliacao = dao.load(ultimoParametroAvaliacao.getId());
  282 + ultimoParametroAvaliacao.setTsFim(novoParametroAvaliacao.getTsInicio());
  283 + dao.update(ultimoParametroAvaliacao);
286 } 284 }
287 -  
288 } 285 }
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Criterio.java
1 package br.com.eselo.model; 1 package br.com.eselo.model;
2 2
  3 +import java.util.ArrayList;
3 import java.util.List; 4 import java.util.List;
4 5
5 import javax.persistence.CascadeType; 6 import javax.persistence.CascadeType;
@@ -24,6 +25,9 @@ import br.com.eselo.integracao.CriterioAvaliado; @@ -24,6 +25,9 @@ import br.com.eselo.integracao.CriterioAvaliado;
24 @Table(name = "sel_criterio") 25 @Table(name = "sel_criterio")
25 public class Criterio { 26 public class Criterio {
26 27
  28 + public Criterio() {
  29 + this.faixas = new ArrayList<Faixa>();
  30 + }
27 31
28 @Id 32 @Id
29 @SequenceGenerator(name = "sel_criterio_id_criterio_seq", sequenceName = "sel_criterio_id_criterio_seq") 33 @SequenceGenerator(name = "sel_criterio_id_criterio_seq", sequenceName = "sel_criterio_id_criterio_seq")
@@ -110,6 +114,10 @@ public class Criterio { @@ -110,6 +114,10 @@ public class Criterio {
110 this.faixas = faixas; 114 this.faixas = faixas;
111 } 115 }
112 116
  117 + public void addFaixa(Faixa faixa){
  118 + this.faixas.add(faixa);
  119 + }
  120 +
113 public double getResultadoTeste(CriterioAvaliado criterioAvaliado){ 121 public double getResultadoTeste(CriterioAvaliado criterioAvaliado){
114 double percentualErros = criterioAvaliado.getPercentualErros(); 122 double percentualErros = criterioAvaliado.getPercentualErros();
115 double resultado = 0.0; 123 double resultado = 0.0;
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/ParametroAvaliacao.java
1 package br.com.eselo.model; 1 package br.com.eselo.model;
2 2
  3 +import java.util.ArrayList;
3 import java.util.Date; 4 import java.util.Date;
4 import java.util.List; 5 import java.util.List;
5 6
@@ -26,6 +27,10 @@ import org.hibernate.annotations.ForeignKey; @@ -26,6 +27,10 @@ import org.hibernate.annotations.ForeignKey;
26 @Table(name = "sel_parametro_avaliacao") 27 @Table(name = "sel_parametro_avaliacao")
27 public class ParametroAvaliacao { 28 public class ParametroAvaliacao {
28 29
  30 + public ParametroAvaliacao() {
  31 + this.recomendacoes = new ArrayList<Recomendacao>();
  32 + }
  33 +
29 @Id 34 @Id
30 @SequenceGenerator(name = "sel_parametro_avaliacao_id_parametro_avaliacao_seq", sequenceName = "sel_parametro_avaliacao_id_parametro_avaliacao_seq") 35 @SequenceGenerator(name = "sel_parametro_avaliacao_id_parametro_avaliacao_seq", sequenceName = "sel_parametro_avaliacao_id_parametro_avaliacao_seq")
31 @GeneratedValue(strategy = GenerationType.AUTO, generator = "sel_parametro_avaliacao_id_parametro_avaliacao_seq") 36 @GeneratedValue(strategy = GenerationType.AUTO, generator = "sel_parametro_avaliacao_id_parametro_avaliacao_seq")
@@ -49,9 +54,6 @@ public class ParametroAvaliacao { @@ -49,9 +54,6 @@ public class ParametroAvaliacao {
49 @OneToMany(mappedBy = "parametroAvaliacao", targetEntity = br.com.eselo.model.Recomendacao.class, fetch = FetchType.LAZY, cascade = CascadeType.ALL) 54 @OneToMany(mappedBy = "parametroAvaliacao", targetEntity = br.com.eselo.model.Recomendacao.class, fetch = FetchType.LAZY, cascade = CascadeType.ALL)
50 private List<Recomendacao> recomendacoes; 55 private List<Recomendacao> recomendacoes;
51 56
52 - //@OneToMany(mappedBy = "parametroAvaliacao", targetEntity = br.com.eselo.model.Avaliacao.class, fetch = FetchType.LAZY, cascade = CascadeType.ALL)  
53 - //private List<Avaliacao> avaliacoes;  
54 -  
55 public List<Recomendacao> getRecomendacoes() { 57 public List<Recomendacao> getRecomendacoes() {
56 return recomendacoes; 58 return recomendacoes;
57 } 59 }
@@ -60,6 +62,10 @@ public class ParametroAvaliacao { @@ -60,6 +62,10 @@ public class ParametroAvaliacao {
60 this.recomendacoes = recomendacoes; 62 this.recomendacoes = recomendacoes;
61 } 63 }
62 64
  65 + public void addRecomendacao(Recomendacao recomendacao){
  66 + this.recomendacoes.add(recomendacao);
  67 + }
  68 +
63 public Long getId() { 69 public Long getId() {
64 return id; 70 return id;
65 } 71 }
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Recomendacao.java
1 package br.com.eselo.model; 1 package br.com.eselo.model;
2 2
  3 +import java.util.ArrayList;
3 import java.util.List; 4 import java.util.List;
4 5
5 import javax.persistence.CascadeType; 6 import javax.persistence.CascadeType;
@@ -21,6 +22,10 @@ import org.hibernate.annotations.ForeignKey; @@ -21,6 +22,10 @@ import org.hibernate.annotations.ForeignKey;
21 @Table(name = "sel_recomendacao") 22 @Table(name = "sel_recomendacao")
22 public class Recomendacao { 23 public class Recomendacao {
23 24
  25 + public Recomendacao() {
  26 + this.criterios = new ArrayList<Criterio>();
  27 + }
  28 +
24 @Id 29 @Id
25 @SequenceGenerator(name = "sel_recomendacao_id_recomendacao_seq", sequenceName = "sel_recomendacao_id_recomendacao_seq") 30 @SequenceGenerator(name = "sel_recomendacao_id_recomendacao_seq", sequenceName = "sel_recomendacao_id_recomendacao_seq")
26 @GeneratedValue(strategy = GenerationType.AUTO, generator = "sel_recomendacao_id_recomendacao_seq") 31 @GeneratedValue(strategy = GenerationType.AUTO, generator = "sel_recomendacao_id_recomendacao_seq")
@@ -51,6 +56,10 @@ public class Recomendacao { @@ -51,6 +56,10 @@ public class Recomendacao {
51 this.criterios = criterios; 56 this.criterios = criterios;
52 } 57 }
53 58
  59 + public void addCriterio(Criterio criterio){
  60 + this.criterios.add(criterio);
  61 + }
  62 +
54 @ManyToOne(fetch = FetchType.LAZY) 63 @ManyToOne(fetch = FetchType.LAZY)
55 @JoinColumn(name = "id_tipo_recomendacao", columnDefinition = "integer", nullable = false, insertable = true, updatable = true) 64 @JoinColumn(name = "id_tipo_recomendacao", columnDefinition = "integer", nullable = false, insertable = true, updatable = true)
56 @ForeignKey(name = "fk_sel_diretriz_sel_tipo_diretriz") 65 @ForeignKey(name = "fk_sel_diretriz_sel_tipo_diretriz")