Commit c54a19f5d657221178c9bb2e936408f93e671786

Authored by magno.oliveira
1 parent 7ee61eda
Exists in master

Alteração nos parametros de avaliação

git-svn-id: https://svn.bento.ifrs.edu.br/default/ASES/e-selo@9653 c2178572-b5ca-4887-91d2-9e3a90c7d55b
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/CriteriosController.java
... ... @@ -5,16 +5,19 @@ import br.com.caelum.vraptor.Resource;
5 5 import br.com.caelum.vraptor.Result;
6 6 import br.com.eselo.annotations.Restrito;
7 7 import br.com.eselo.dao.CriterioDAO;
  8 +import br.com.eselo.dao.ParametroAvaliacaoDAO;
8 9 import br.com.eselo.model.Criterio;
9 10  
10 11 @Resource
11 12 public class CriteriosController {
12 13  
13 14 private final CriterioDAO dao;
  15 + private final ParametroAvaliacaoDAO paDAO;
14 16 private final Result result;
15 17  
16   - public CriteriosController(CriterioDAO _dao, Result _result) {
  18 + public CriteriosController(CriterioDAO _dao, ParametroAvaliacaoDAO _paDAO, Result _result) {
17 19 this.dao = _dao;
  20 + this.paDAO = _paDAO;
18 21 this.result = _result;
19 22 }
20 23  
... ...
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/FaixaController.java
... ... @@ -30,7 +30,7 @@ public class FaixaController {
30 30 private final FaixaDAO dao;
31 31 private final RecomendacaoDAO daoRecomendacao;
32 32 private final CriterioDAO daoCriterio;
33   - private final ParametroAvaliacaoDAO daoParametro;
  33 + private final ParametroAvaliacaoDAO paDAO;
34 34 private final Result result;
35 35 private final Validator validator;
36 36 private final UsuarioWeb usuarioWeb;
... ... @@ -38,13 +38,13 @@ public class FaixaController {
38 38 public FaixaController(FaixaDAO _dao,
39 39 RecomendacaoDAO _daoRecomendacao, CriterioDAO _daoCriterio, ParametroAvaliacaoDAO _daoParametro,
40 40 Result _result, Validator _validator, UsuarioWeb _usuarioWeb) {
41   - dao = _dao;
42   - daoRecomendacao = _daoRecomendacao;
43   - daoCriterio = _daoCriterio;
44   - daoParametro = _daoParametro;
45   - result = _result;
46   - validator = _validator;
47   - usuarioWeb = _usuarioWeb;
  41 + this.dao = _dao;
  42 + this.daoRecomendacao = _daoRecomendacao;
  43 + this.daoCriterio = _daoCriterio;
  44 + this.paDAO = _daoParametro;
  45 + this.result = _result;
  46 + this.validator = _validator;
  47 + this.usuarioWeb = _usuarioWeb;
48 48 }
49 49  
50 50 @Get("/conformidades")
... ... @@ -76,7 +76,7 @@ public class FaixaController {
76 76 Faixa faixa = dao.load(id);
77 77  
78 78 Criterio criterio = daoCriterio.load(criterioId);
79   - ParametroAvaliacao parametro = daoParametro.load(criterio.getRecomendacao()
  79 + ParametroAvaliacao parametro = paDAO.load(criterio.getRecomendacao()
80 80 .getParametroAvaliacao().getId());
81 81  
82 82 result.include("criterioId", criterioId);
... ...
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/ParametroAvaliacaoController.java
1 1 package br.com.eselo.controller;
2 2  
3 3 import java.util.ArrayList;
4   -import java.util.Date;
5 4 import java.util.List;
6 5  
7 6 import br.com.caelum.vraptor.Get;
... ... @@ -13,15 +12,11 @@ import br.com.caelum.vraptor.Result;
13 12 import br.com.caelum.vraptor.Validator;
14 13 import br.com.caelum.vraptor.validator.ValidationMessage;
15 14 import br.com.eselo.annotations.Restrito;
  15 +import br.com.eselo.component.CopiadorParametroAvaliacao;
16 16 import br.com.eselo.component.UsuarioWeb;
17 17 import br.com.eselo.dao.ParametroAvaliacaoDAO;
18 18 import br.com.eselo.dao.RecomendacaoDAO;
19   -import br.com.eselo.dao.UsuarioDAO;
20   -import br.com.eselo.model.Criterio;
21   -import br.com.eselo.model.Faixa;
22 19 import br.com.eselo.model.ParametroAvaliacao;
23   -import br.com.eselo.model.Recomendacao;
24   -import br.com.eselo.model.Usuario;
25 20  
26 21 /**
27 22 *
... ... @@ -229,57 +224,9 @@ public class ParametroAvaliacaoController {
229 224 this.criarNovoParametroAvaliacao(dao.getLastParametrosAvaliacao());
230 225 }
231 226  
232   - private void criarNovoParametroAvaliacao(ParametroAvaliacao ultimoParametroAvaliacao) {
233   -
234   - UsuarioDAO uDao = new UsuarioDAO(dao.getSession());
235   - Usuario usuario = uDao.load(usuarioWeb.getId());
236   -
237   - // Cria o parametro
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);
271   - }
272   -
273   - novaRecomendacao.addCriterio(novoCriterio);
274   - }
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);
  227 + protected void criarNovoParametroAvaliacao(ParametroAvaliacao ultimoParametroAvaliacao) {
  228 +
  229 + new CopiadorParametroAvaliacao().criarNovoParametroAvaliacao(ultimoParametroAvaliacao, usuarioWeb, dao.getSession());
  230 +
284 231 }
285 232 }
... ...
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/RecomendacaoController.java
... ... @@ -12,18 +12,18 @@ import br.com.caelum.vraptor.Result;
12 12 import br.com.caelum.vraptor.Validator;
13 13 import br.com.caelum.vraptor.validator.ValidationMessage;
14 14 import br.com.eselo.annotations.Restrito;
  15 +import br.com.eselo.component.CopiadorParametroAvaliacao;
15 16 import br.com.eselo.component.UsuarioWeb;
16 17 import br.com.eselo.dao.ParametroAvaliacaoDAO;
17 18 import br.com.eselo.dao.RecomendacaoDAO;
18   -import br.com.eselo.dao.UsuarioDAO;
19 19 import br.com.eselo.model.ParametroAvaliacao;
20 20 import br.com.eselo.model.Recomendacao;
21   -import br.com.eselo.model.Usuario;
22 21  
23 22 @Resource
24 23 public class RecomendacaoController {
25 24  
26 25 private final RecomendacaoDAO dao;
  26 + private final ParametroAvaliacaoDAO paDAO;
27 27 private final Result result;
28 28 private final Validator validator;
29 29 private final UsuarioWeb usuarioWeb;
... ... @@ -33,9 +33,11 @@ public class RecomendacaoController {
33 33 private static final int MODO_DELETE_RECOMENDACAO = 3;
34 34  
35 35 public RecomendacaoController(RecomendacaoDAO _dao, Result _result,
  36 + ParametroAvaliacaoDAO _paDAO,
36 37 Validator _validator, UsuarioWeb _usuarioWeb) {
37 38 dao = _dao;
38 39 result = _result;
  40 + paDAO = _paDAO;
39 41 validator = _validator;
40 42 usuarioWeb = _usuarioWeb;
41 43 }
... ... @@ -106,6 +108,7 @@ public class RecomendacaoController {
106 108 @Post("/recomendacao")
107 109 @Restrito(descricao = "RECOMENDACAO_ADICIONAR")
108 110 public void adicionar(Recomendacao recomendacao) {
  111 +
109 112 if (recomendacao.getNumeroRecomendacao() == null) {
110 113 validator.add(new ValidationMessage(
111 114 "É obrigatório informar o número da recomendação.",
... ... @@ -121,34 +124,20 @@ public class RecomendacaoController {
121 124 "recomendacao.descricao"));
122 125 } else if (recomendacao.getPeso() == null) {
123 126 validator.add(new ValidationMessage(
124   - "É obrigat�rio informar o peso da recomendação.",
  127 + "É obrigatório informar o peso da recomendação.",
125 128 "recomendacao.peso"));
126 129 } else if (recomendacao.getPeso() <= 0) {
127 130 validator.add(new ValidationMessage(
128   - "O peso da recomendação deve ser maior que zero.",
  131 + "O peso da recomendação deve ser maior que zero.",
129 132 "recomendacao.peso"));
130 133 }
131 134  
132 135 validator.onErrorUsePageOf(RecomendacaoController.class).form(
133 136 recomendacao.getParametroAvaliacao().getId());
134 137  
135   - ParametroAvaliacao ultimoParametroAvaliacao = dao
136   - .getLastParametrosAvaliacao();
137   -
138   - // Caso exista uma avaliação cadastrada para esse parametro é criado um
139   - // novo parametro, com todas as diretrizes existentes neste ultimo.
140   - //TODO
141   - /*
142   - if (dao.hasAvaliacao(ultimoParametroAvaliacao)) {
143   - criarNovoParametroAvaliacao(recomendacao, MODO_ADD_RECOMENDACAO);
144   - } else {
145   - recomendacao.setParametroAvaliacao(ultimoParametroAvaliacao);
146   - }
147   - */
148   -
149   - dao.save(recomendacao);
150   -
151   - result.include("mensagem", "Recomendação salva com sucesso.");
  138 + this.criarNovoParametroAvaliacao(recomendacao, MODO_ADD_RECOMENDACAO);
  139 +
  140 + result.include("mensagem", "Recomendação salva com sucesso.");
152 141 result.redirectTo(ParametroAvaliacaoController.class).form(
153 142 recomendacao.getParametroAvaliacao().getId());
154 143 }
... ... @@ -182,24 +171,7 @@ public class RecomendacaoController {
182 171 validator.onErrorUsePageOf(ParametroAvaliacaoController.class).form(
183 172 recomendacaoCadastrada.getParametroAvaliacao().getId());
184 173  
185   - // Caso exista uma avaliação cadastrada para esse parametro criado um
186   - // novo parametro, com todas as diretrizes existentes neste ultimo.
187   - ParametroAvaliacao ultimoParametroAvaliacao = dao
188   - .getLastParametrosAvaliacao();
189   -
190   - //TODO
191   - /*
192   - if (dao.hasAvaliacao(ultimoParametroAvaliacao)) {
193   - criarNovoParametroAvaliacao(recomendacao, MODO_EDIT_RECOMENDACAO);
194   -
195   - result.include("mensagem",
196   - "Novo Parâmetro de Cálculo criado junto com nova recomendação com sucesso.");
197   -
198   - } else {
199   - dao.update(recomendacaoCadastrada);
200   - result.include("mensagem", "Recomendação alterada com sucesso.");
201   - }
202   - */
  174 + criarNovoParametroAvaliacao(recomendacao, MODO_EDIT_RECOMENDACAO);
203 175  
204 176 result.redirectTo(ParametroAvaliacaoController.class).form(
205 177 recomendacaoCadastrada.getParametroAvaliacao().getId());
... ... @@ -210,79 +182,53 @@ public class RecomendacaoController {
210 182 public void excluir(Long id) {
211 183 Recomendacao recomendacao = dao.load(id);
212 184  
213   - ParametroAvaliacao ultimoParametroAvaliacao = dao
214   - .getLastParametrosAvaliacao();
215   -
216   - //TODO
217   - /*
218   - if (dao.hasAvaliacao(ultimoParametroAvaliacao)) {
219   - criarNovoParametroAvaliacao(recomendacao, MODO_DELETE_RECOMENDACAO);
220   - } else {
221   - dao.remove(id);
222   - }
223   - */
224   -
  185 + criarNovoParametroAvaliacao(recomendacao, MODO_DELETE_RECOMENDACAO);
  186 +
225 187 result.include("mensagem", "Recomendação excluída com sucesso.");
226 188 result.redirectTo(RecomendacaoController.class).index(1);
227 189 }
228 190  
229 191 private void criarNovoParametroAvaliacao(Recomendacao recomendacao, int tipo) {
230   - ParametroAvaliacao ultimoParametroAvaliacao = dao.getLastParametrosAvaliacao();
231   -
232   - UsuarioDAO uDao = new UsuarioDAO(dao.getSession());
233   - Usuario usuario = uDao.load(usuarioWeb.getId());
234   -
235   - // Cria o parametro
236   - ParametroAvaliacao parametroAvaliacao = new ParametroAvaliacao();
237   - parametroAvaliacao.setUsuario(usuario);
238   - parametroAvaliacao.setTsInicio(new java.util.Date());
239   - parametroAvaliacao.setTsFim(null);
240   -
241   - ultimoParametroAvaliacao.setTsFim(parametroAvaliacao.getTsInicio());
242   -
243   - ParametroAvaliacaoDAO paDao = new ParametroAvaliacaoDAO(dao.getSession());
244   -
245   - // Cria a lista das diretrizes
246   - List<Recomendacao> listaCadastrada = dao.recomendacoesDoUltimoParametro(ultimoParametroAvaliacao);
247   -
248   - // Salva novo e atualiza o ultimo
249   - paDao.save(parametroAvaliacao);
250   - paDao.update(ultimoParametroAvaliacao);
251   -
252   - recomendacao.setParametroAvaliacao(parametroAvaliacao);
253   -
254   - // Salva as diretrizes para nova avaliação
255   - Recomendacao novaRecomendacao;
256   - for (Recomendacao recomendacaoCadastrada : listaCadastrada) {
257   - if ((tipo == MODO_ADD_RECOMENDACAO) || (recomendacaoCadastrada.getId().longValue() != recomendacao.getId().longValue())) {
258   - novaRecomendacao = new Recomendacao();
259   - novaRecomendacao.setParametroAvaliacao(parametroAvaliacao);
260   - novaRecomendacao.setDescricao(recomendacaoCadastrada.getDescricao());
261   - novaRecomendacao.setPeso(recomendacaoCadastrada.getPeso());
262   - novaRecomendacao.setNumeroRecomendacao(recomendacaoCadastrada.getNumeroRecomendacao());
263   - novaRecomendacao.setTipoRecomendacao(recomendacaoCadastrada.getTipoRecomendacao());
264   -
265   - dao.save(novaRecomendacao);
266   - }
267   - }
  192 + ParametroAvaliacao ultimoParametroAvaliacao = paDAO.getLastParametrosAvaliacao();
  193 + boolean ok = false;
268 194  
269 195 switch (tipo) {
  196 + case MODO_ADD_RECOMENDACAO:
  197 + ultimoParametroAvaliacao.addRecomendacao(recomendacao);
  198 + ok=true;
  199 + break;
  200 +
270 201 case MODO_EDIT_RECOMENDACAO:
271   - novaRecomendacao = new Recomendacao();
272   - novaRecomendacao.setParametroAvaliacao(parametroAvaliacao);
273   - novaRecomendacao.setDescricao(recomendacao.getDescricao());
274   - novaRecomendacao.setNumeroRecomendacao(recomendacao.getNumeroRecomendacao());
275   - novaRecomendacao.setPeso(recomendacao.getPeso());
276   - novaRecomendacao.setTipoRecomendacao(recomendacao.getTipoRecomendacao());
277   -
278   - dao.save(novaRecomendacao);
  202 + for(Recomendacao r: ultimoParametroAvaliacao.getRecomendacoes()){
  203 + if(r.getId().equals(recomendacao.getId())){
  204 +
  205 + r.setParametroAvaliacao(recomendacao.getParametroAvaliacao());
  206 + r.setNumeroRecomendacao(recomendacao.getNumeroRecomendacao());
  207 + r.setDescricao(recomendacao.getDescricao());
  208 + r.setPeso(recomendacao.getPeso());
  209 + r.setTipoRecomendacao(recomendacao.getTipoRecomendacao());
  210 + r.setCriterios(recomendacao.getCriterios());
  211 + r.setId(recomendacao.getId());
  212 + ok=true;
  213 + break;
  214 + }
  215 + }
  216 +
279 217 break;
280 218  
281 219 case MODO_DELETE_RECOMENDACAO:
282   -
  220 + for(Recomendacao r: ultimoParametroAvaliacao.getRecomendacoes()){
  221 + if(r.getId().equals(recomendacao.getId())){
  222 + ultimoParametroAvaliacao.remove(recomendacao);
  223 + ok=true;
  224 + break;
  225 + }
  226 + }
283 227 break;
284   - default:
285   - break;
  228 + }
  229 +
  230 + if(ok){
  231 + new CopiadorParametroAvaliacao().criarNovoParametroAvaliacao(ultimoParametroAvaliacao, usuarioWeb, dao.getSession());
286 232 }
287 233 }
288 234  
... ...
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/RecomendacaoDAO.java
... ... @@ -23,7 +23,7 @@ public class RecomendacaoDAO extends GenericDAO&lt;Recomendacao&gt; {
23 23 @SuppressWarnings("unchecked")
24 24 public List<Recomendacao> listAll() {
25 25 return getSession().createCriteria(getPersistentClass())
26   - .addOrder(Order.asc("id")).list();
  26 + .addOrder(Order.asc("numeroRecomendacao")).list();
27 27 }
28 28  
29 29 public List<ParametroAvaliacao> getAllParametrosAvaliacao() {
... ...
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/ParametroAvaliacao.java
... ... @@ -66,6 +66,10 @@ public class ParametroAvaliacao {
66 66 this.recomendacoes.add(recomendacao);
67 67 }
68 68  
  69 + public void remove(Recomendacao recomendacao){
  70 + this.recomendacoes.remove(recomendacao);
  71 + }
  72 +
69 73 public Long getId() {
70 74 return id;
71 75 }
... ...