Commit af67ccc71ae194fcc14f4f70bd5e709216c431bb

Authored by magno.oliveira
1 parent 67f35fcd
Exists in master

Inclusão do historico da avaliação

git-svn-id: https://svn.bento.ifrs.edu.br/default/ASES/e-selo@9813 c2178572-b5ca-4887-91d2-9e3a90c7d55b
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/component/LeitorXML.java
... ... @@ -52,8 +52,6 @@ public class LeitorXML {
52 52 }
53 53  
54 54 public Avaliacao lerResultadosXML(RelatorioAvaliacao relatorioAvaliacao, Avaliacao avaliacao){
55   -
56   -
57 55  
58 56 for(RecomendacaoAvaliada ra:relatorioAvaliacao.getRecomendacoes()){
59 57  
... ...
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/AvaliacaoController.java
... ... @@ -29,6 +29,7 @@ import br.com.eselo.component.LeitorXML;
29 29 import br.com.eselo.component.Mailer;
30 30 import br.com.eselo.component.URLNormalizer;
31 31 import br.com.eselo.component.UsuarioWeb;
  32 +import br.com.eselo.dao.AvaliacaoDAO;
32 33 import br.com.eselo.dao.ParametroCalculoDAO;
33 34 import br.com.eselo.dao.UrlDAO;
34 35 import br.com.eselo.integracao.CriterioAvaliado;
... ... @@ -49,6 +50,7 @@ public class AvaliacaoController {
49 50 private final Result result;
50 51 private final UrlDAO daoUrl;
51 52 private final ParametroCalculoDAO paramDao;
  53 + private final AvaliacaoDAO dao;
52 54 private final HttpServletRequest request;
53 55  
54 56 private static final String CAMINHO_SELOS = "eselo.config.avaliacao.caminhoSelos";
... ... @@ -57,9 +59,10 @@ public class AvaliacaoController {
57 59  
58 60 public AvaliacaoController(Result _result, UrlDAO _daoUrl,
59 61 ParametroCalculoDAO _paramDao, UsuarioWeb _usuarioWeb,
60   - Validator _validator, HttpServletRequest _request)
  62 + Validator _validator, HttpServletRequest _request, AvaliacaoDAO _dao)
61 63 throws IOException {
62 64 daoUrl = _daoUrl;
  65 + dao = _dao;
63 66 result = _result;
64 67 paramDao = _paramDao;
65 68 request = _request;
... ... @@ -247,36 +250,31 @@ public class AvaliacaoController {
247 250  
248 251 private Avaliacao salvarAvaliacao(RelatorioAvaliacao relatorioAvaliacao, ParametroCalculo parametroCalculo){
249 252  
  253 + try {
  254 + relatorioAvaliacao.setUrl(URLNormalizer.normalize(relatorioAvaliacao.getUrl()));
  255 + } catch (MalformedURLException e) {
  256 + System.out.println("Erro ao tentar normalizar a URL do Relatorio de Avaliacao");
  257 + e.printStackTrace();
  258 + }
  259 +
250 260 Avaliacao avaliacao = new Avaliacao();
251 261 avaliacao.setDataAvaliacao(relatorioAvaliacao.getDate());
252   - avaliacao.setIdUrl(relatorioAvaliacao.getUrl());
253 262 avaliacao.setParametroCalculo(parametroCalculo);
  263 + avaliacao.setQtdeLinhas(relatorioAvaliacao.getQtdeLinhas());
  264 +
  265 + Url url = daoUrl.getStringUrl(relatorioAvaliacao.getUrl());
254 266  
255   - dao.save(avaliacao);
256   - idAval =avaliacao.getId();
257   -
258   - LeitorXML leitor = new LeitorXML();
259   - avaliacao = leitor.lerResultadosXML(relatorioAvaliacao, avaliacao);
260   -
261   - ResultadoDao rdao = new ResultadoDao(dao.getSession());
262   - List<Resultado> resultadosCadastrados = rdao.listResultado(idAval);
263   -
264   - for(Resultado rNovaAvaliacao:resultadosNovaAvaliacao){
265   - int check=0;
266   - for(Resultado rbd:resultadosCadastrados){
267   - if(rNovaAvaliacao.getNumDiretriz().equals(rbd.getNumDiretriz()) && rNovaAvaliacao.getAvaliacao().getId().equals(idAval)){
268   - check = check+1;
269   - }
270   - }
271   - if(check ==0 ){
272   - rdao.save(rNovaAvaliacao);
273   - System.out.println("Salvei resultado da Diretriz "+rNovaAvaliacao.getNumDiretriz());
274   - }else{
275   - System.err.println("Nada salvo para Diretriz "+rNovaAvaliacao.getNumDiretriz());
276   - }
  267 + if (url == null) {
  268 + url = new Url();
  269 + url.setUrl(relatorioAvaliacao.getUrl());
  270 + daoUrl.save(url);
277 271 }
278 272  
279   - return new Avaliacao();
  273 + avaliacao.setUrl(url);
  274 + avaliacao = new LeitorXML().lerResultadosXML(relatorioAvaliacao, avaliacao);
  275 + dao.save(avaliacao);
  276 +
  277 + return avaliacao;
280 278 }
281 279  
282 280 public void gerarSelo(Url url, double nota) {
... ...
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/AvaliacaoDao.java
... ... @@ -13,9 +13,9 @@ import br.com.eselo.model.ParametroCalculo;
13 13 import br.com.eselo.model.Url;
14 14  
15 15 @Component
16   -public class AvaliacaoDao extends GenericDAO<Avaliacao> {
  16 +public class AvaliacaoDAO extends GenericDAO<Avaliacao> {
17 17  
18   - public AvaliacaoDao(Session _session) {
  18 + public AvaliacaoDAO(Session _session) {
19 19 super(_session);
20 20 }
21 21  
... ...
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Avaliacao.java
... ... @@ -98,4 +98,12 @@ public class Avaliacao {
98 98 public void removeResultadoRecomendacao(ResultadoRecomendacao resultado){
99 99 this.resultadoRecomendaca.remove(resultado);
100 100 }
  101 +
  102 + public Long getQtdeLinhas() {
  103 + return qtdeLinhas;
  104 + }
  105 +
  106 + public void setQtdeLinhas(Long qtdeLinhas) {
  107 + this.qtdeLinhas = qtdeLinhas;
  108 + }
101 109 }
... ...
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/ResultadoRecomendacao.java
1 1 package br.com.eselo.model;
2 2  
  3 +import java.util.ArrayList;
3 4 import java.util.List;
4 5  
5 6 import javax.persistence.CascadeType;
... ... @@ -21,6 +22,10 @@ import org.hibernate.annotations.ForeignKey;
21 22 @Table(name = "sel_resultado_recomendacao")
22 23 public class ResultadoRecomendacao {
23 24  
  25 + public ResultadoRecomendacao() {
  26 + this.criterios = new ArrayList<ResultadoCriterio>();
  27 + }
  28 +
24 29 @Id
25 30 @GeneratedValue
26 31 @Column(name = "id_resultado_recomendacao", columnDefinition = "serial", unique = true, nullable = false)
... ... @@ -38,7 +43,7 @@ public class ResultadoRecomendacao {
38 43 @Column(name = "nu_total_erros",nullable = false)
39 44 private Long totalErros;
40 45  
41   - @Column(name = "nu_total_avisos",nullable = false)
  46 + @Column(name = "nu_total_avisos")
42 47 private Long totalAvisos;
43 48  
44 49 @OneToMany(mappedBy = "resultadoRecomendacao", targetEntity = br.com.eselo.model.ResultadoCriterio.class, fetch = FetchType.LAZY, cascade = CascadeType.ALL)
... ...
Desenvolvimento/Codificacao/e-Selo/src/main/resources/hibernate.cfg.xml
... ... @@ -26,7 +26,8 @@
26 26 <mapping class="br.com.eselo.model.Permissao" />
27 27 <mapping class="br.com.eselo.model.Faixa" />
28 28 <mapping class="br.com.eselo.model.Grupo" />
29   - <mapping class="br.com.eselo.model.Resultado" />
  29 + <mapping class="br.com.eselo.model.ResultadoRecomendacao" />
  30 + <mapping class="br.com.eselo.model.ResultadoCriterio" />
30 31 <mapping class="br.com.eselo.model.Criterio" />
31 32 <mapping class="br.com.eselo.model.Recomendacao" />
32 33 <mapping class="br.com.eselo.model.TipoTeste" />
... ...
Desenvolvimento/Codificacao/e-Selo/target/classes/hibernate.cfg.xml
... ... @@ -26,7 +26,8 @@
26 26 <mapping class="br.com.eselo.model.Permissao" />
27 27 <mapping class="br.com.eselo.model.Faixa" />
28 28 <mapping class="br.com.eselo.model.Grupo" />
29   - <mapping class="br.com.eselo.model.Resultado" />
  29 + <mapping class="br.com.eselo.model.ResultadoRecomendacao" />
  30 + <mapping class="br.com.eselo.model.ResultadoCriterio" />
30 31 <mapping class="br.com.eselo.model.Criterio" />
31 32 <mapping class="br.com.eselo.model.Recomendacao" />
32 33 <mapping class="br.com.eselo.model.TipoTeste" />
... ...