Commit 129ff833645dcabc59bb0e967635f539d413275a

Authored by magno.oliveira
1 parent 5cb62996
Exists in master

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

git-svn-id: https://svn.bento.ifrs.edu.br/default/ASES/e-selo@9658 c2178572-b5ca-4887-91d2-9e3a90c7d55b
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/CriteriosController.java
1 package br.com.eselo.controller; 1 package br.com.eselo.controller;
2 2
  3 +import java.util.ArrayList;
  4 +import java.util.List;
  5 +
3 import br.com.caelum.vraptor.Get; 6 import br.com.caelum.vraptor.Get;
  7 +import br.com.caelum.vraptor.Path;
  8 +import br.com.caelum.vraptor.Put;
4 import br.com.caelum.vraptor.Resource; 9 import br.com.caelum.vraptor.Resource;
5 import br.com.caelum.vraptor.Result; 10 import br.com.caelum.vraptor.Result;
  11 +import br.com.caelum.vraptor.Validator;
  12 +import br.com.caelum.vraptor.validator.ValidationMessage;
6 import br.com.eselo.annotations.Restrito; 13 import br.com.eselo.annotations.Restrito;
  14 +import br.com.eselo.component.CopiadorParametroAvaliacao;
  15 +import br.com.eselo.component.UsuarioWeb;
7 import br.com.eselo.dao.CriterioDAO; 16 import br.com.eselo.dao.CriterioDAO;
8 import br.com.eselo.dao.ParametroAvaliacaoDAO; 17 import br.com.eselo.dao.ParametroAvaliacaoDAO;
  18 +import br.com.eselo.dao.RecomendacaoDAO;
9 import br.com.eselo.model.Criterio; 19 import br.com.eselo.model.Criterio;
  20 +import br.com.eselo.model.ParametroAvaliacao;
  21 +import br.com.eselo.model.Recomendacao;
10 22
11 @Resource 23 @Resource
12 public class CriteriosController { 24 public class CriteriosController {
@@ -14,13 +26,69 @@ public class CriteriosController { @@ -14,13 +26,69 @@ public class CriteriosController {
14 private final CriterioDAO dao; 26 private final CriterioDAO dao;
15 private final ParametroAvaliacaoDAO paDAO; 27 private final ParametroAvaliacaoDAO paDAO;
16 private final Result result; 28 private final Result result;
  29 + private final Validator validator;
  30 + private final UsuarioWeb usuarioWeb;
17 31
18 - public CriteriosController(CriterioDAO _dao, ParametroAvaliacaoDAO _paDAO, Result _result) { 32 + public CriteriosController(CriterioDAO _dao, ParametroAvaliacaoDAO _paDAO, Result _result, Validator _validator, UsuarioWeb _usuarioWeb) {
19 this.dao = _dao; 33 this.dao = _dao;
20 this.paDAO = _paDAO; 34 this.paDAO = _paDAO;
21 this.result = _result; 35 this.result = _result;
  36 + this.validator = _validator;
  37 + this.usuarioWeb=_usuarioWeb;
  38 + }
  39 +
  40 + public List<Criterio> lista() {
  41 + return this.index(1);
22 } 42 }
23 43
  44 +
  45 +
  46 +
  47 + @Get("/criterio/{pagina}")
  48 + @Restrito(descricao = "CRITERIO_LISTA")
  49 + public List<Criterio> index(int pagina) {
  50 + ParametroAvaliacao ultimoParametroAvaliacao = dao.getLastParametrosAvaliacao();
  51 +
  52 + // Paginaçã£o
  53 + // Quantidade de registros por pagina
  54 + int exibi = 7;
  55 +
  56 + // Informa a quantidade de registros
  57 + int registros = dao.numLinhas(ultimoParametroAvaliacao);
  58 +
  59 + // Quantidade de paginas na paginaçã£o
  60 + int totalPag = registros / exibi;
  61 +
  62 + // Se houver resto na divisao acima acrescenta uma pagina na paginaçã£o
  63 + if ((registros - (totalPag * exibi)) > 0)
  64 + totalPag++;
  65 +
  66 + // Calculo do registro inicial e final
  67 + int regIni = ((exibi * pagina) - exibi);
  68 + int regFim = (regIni + exibi);
  69 +
  70 + if (regFim > registros) {
  71 + regFim = registros;
  72 + }
  73 +
  74 + // Fim paginaçã£o
  75 + List<Recomendacao> resultado = dao.listAllAtivas(ultimoParametroAvaliacao);
  76 + List<Recomendacao> paginacao = new ArrayList<Recomendacao>();
  77 +
  78 + for (int i = regIni; i < regFim; i++) {
  79 + paginacao.add(resultado.get(i));
  80 + }
  81 +
  82 + result.include("paginas", totalPag);
  83 + result.include("registros", registros);
  84 + result.include("regInic", ++regIni);
  85 + result.include("regFim", regFim);
  86 + result.include("controle", "diretriz");
  87 + result.include("parametroAvaliacao", ultimoParametroAvaliacao);
  88 +
  89 + return paginacao;
  90 + }
  91 +
24 @Get("/criterios/form/{id}") 92 @Get("/criterios/form/{id}")
25 @Restrito(descricao = "CRITERIO_ATUALIZAR") 93 @Restrito(descricao = "CRITERIO_ATUALIZAR")
26 public Criterio form(Long id) { 94 public Criterio form(Long id) {
@@ -32,6 +100,181 @@ public class CriteriosController { @@ -32,6 +100,181 @@ public class CriteriosController {
32 return criterio; 100 return criterio;
33 } 101 }
34 102
  103 +
  104 +
  105 +
  106 +
  107 +
  108 +public void adicionar(Criterio criterio) {
  109 +
  110 + if (criterio.getNumeroCriterio() == null) {
  111 + validator.add(new ValidationMessage(
  112 + "É obrigatório informar o número do critério.",
  113 + "recomendacao.numeroRecomendacao"));
  114 + } else if (hasNumeroCriNterioRecomendacaoAtual(criterio)) {
  115 + validator
  116 + .add(new ValidationMessage(
  117 + "Já existe uma recomendaçã£o ativa com esse numero. Recomendaçã£o não cadastrada.",
  118 + "recomendacao.numeroRecomendacao"));
  119 + } else if (criterio.getDescricao() == null) {
  120 + validator.add(new ValidationMessage(
  121 + "É obrigatório informar a descriçã£o da recomendação.",
  122 + "recomendacao.descricao"));
  123 + } else if (criterio.getPeso() == null) {
  124 + validator.add(new ValidationMessage(
  125 + "É obrigatório informar o peso da recomendação.",
  126 + "recomendacao.peso"));
  127 + } else if (criterio.getPeso() <= 0) {
  128 + validator.add(new ValidationMessage(
  129 + "O peso da recomendação deve ser maior que zero.",
  130 + "recomendacao.peso"));
  131 + }
  132 +
  133 + validator.onErrorUsePageOf(RecomendacaoController.class).form(
  134 + criterio.getParametroAvaliacao().getId());
  135 +
  136 + this.criarNovoParametroAvaliacao(criterio, ParametroAvaliacaoController.MODO_ADD);
  137 +
  138 + result.include("mensagem", "Recomendação salva com sucesso.");
  139 + result.redirectTo(ParametroAvaliacaoController.class).index(1);
  140 + }
  141 +
  142 + @Put("/recomendacao")
  143 + @Restrito(descricao = "RECOMENDACAO_ATUALIZAR")
  144 + public void atualizar(Recomendacao recomendacao) {
  145 + Recomendacao recomendacaoCadastrada = dao.load(recomendacao.getId());
  146 + recomendacaoCadastrada.setNumeroRecomendacao(recomendacao.getNumeroRecomendacao());
  147 + recomendacaoCadastrada.setDescricao(recomendacao.getDescricao());
  148 +
  149 + if (recomendacao.getNumeroRecomendacao() == null) {
  150 + validator.add(new ValidationMessage(
  151 + "É obrigatório informar o número da recomendação.",
  152 + "recomendacao.numeroRecomendacao"));
  153 + } else if (hasNumeroCriNoParametroAtual(recomendacao)) {
  154 + validator
  155 + .add(new ValidationMessage(
  156 + "Já existe uma recomendação ativa com esse numero. Recomendaçã£o não atualizada.",
  157 + "recomendacao.numeroRecomendacao"));
  158 + } else if (recomendacao.getDescricao() == null) {
  159 + validator.add(new ValidationMessage(
  160 + "É obrigatório informar a descriçã£o da recomendaçã£o.",
  161 + "recomendacao.descricao"));
  162 + } else if (recomendacao.getPeso() == null) {
  163 + validator.add(new ValidationMessage(
  164 + "É obrigatório informar o peso da recomendaçã£o.",
  165 + "recomendacao.peso"));
  166 + }
  167 +
  168 + validator.onErrorUsePageOf(ParametroAvaliacaoController.class).form(
  169 + recomendacaoCadastrada.getParametroAvaliacao().getId());
  170 +
  171 + criarNovoParametroAvaliacao(recomendacao, ParametroAvaliacaoController.MODO_EDIT);
  172 +
  173 + result.redirectTo(ParametroAvaliacaoController.class).index(1);
  174 + }
  175 +
  176 + @Path("/recomendacao/delete/{id}")
  177 + @Restrito(descricao = "RECOMENDACAO_EXCLUIR")
  178 + public void excluir(Long id) {
  179 + Recomendacao recomendacao = dao.load(id);
  180 +
  181 + criarNovoParametroAvaliacao(recomendacao, ParametroAvaliacaoController.MODO_DELETE);
  182 +
  183 + result.include("mensagem", "Recomendaçã£o excluída com sucesso.");
  184 + result.redirectTo(ParametroAvaliacaoController.class).index(1);
  185 + }
  186 +
  187 +
  188 +
  189 +
  190 +
  191 +
  192 +
  193 + private void criarNovoParametroAvaliacao(Criterio criterio, int tipo) {
  194 + ParametroAvaliacao ultimoParametroAvaliacao = paDAO.getLastParametrosAvaliacao();
  195 + boolean ok = false;
  196 +
  197 + switch (tipo) {
  198 + case ParametroAvaliacaoController.MODO_ADD:
  199 + for(Recomendacao recomendacao: ultimoParametroAvaliacao.getRecomendacoes()){
  200 + if(recomendacao.getId().equals(criterio.getRecomendacao().getId())){
  201 + recomendacao.addCriterio(criterio);
  202 + ok=true;
  203 + break;
  204 + }
  205 + }
  206 +
  207 + break;
  208 +
  209 +
  210 + case ParametroAvaliacaoController.MODO_EDIT:
  211 + for(Recomendacao recomendacao: ultimoParametroAvaliacao.getRecomendacoes()){
  212 + if(recomendacao.getId().equals(criterio.getRecomendacao().getId())){
  213 + for(Criterio c: recomendacao.getCriterios()){
  214 + if(criterio.getId().equals(c.getId())){
  215 + c.setDescricao(criterio.getDescricao());
  216 + c.setFaixas(criterio.getFaixas());
  217 + c.setId(criterio.getId());
  218 + c.setNumeroCriterio(criterio.getNumeroCriterio());
  219 + c.setPeso(criterio.getPeso());
  220 + c.setRecomendacao(criterio.getRecomendacao());
  221 + c.setTipoTeste(criterio.getTipoTeste());
  222 +
  223 + ok=true;
  224 + break;
  225 + }
  226 + }
  227 + }
  228 + }
  229 +
  230 + break;
  231 +
  232 + case ParametroAvaliacaoController.MODO_DELETE:
  233 + for(Recomendacao recomendacao: ultimoParametroAvaliacao.getRecomendacoes()){
  234 + if(recomendacao.getId().equals(criterio.getRecomendacao().getId())){
  235 + recomendacao.removeCriterio(criterio);
  236 + ok=true;
  237 + break;
  238 + }
  239 + }
  240 + break;
  241 + }
  242 +
  243 + if(ok){
  244 + new CopiadorParametroAvaliacao().criarNovoParametroAvaliacao(ultimoParametroAvaliacao, usuarioWeb, dao.getSession());
  245 + }
  246 + }
  247 +
  248 +
  249 +
  250 + /**
  251 + * Recebe um critério antes de ser cadastrad0 e verifica se ja existe um
  252 + * criterio ativo com o mesmo numero.
  253 + *
  254 + * @param criterio
  255 + * @return boolean
  256 + */
  257 + private boolean hasNumeroCriNterioRecomendacaoAtual(Criterio criterio) {
  258 + boolean retorno = false;
  259 +
  260 + List<Criterio> listaCadastrada = new RecomendacaoDAO(dao.getSession()).load(criterio.getRecomendacao().getId()).getCriterios();
  261 + for (Criterio criterioCadastrado : listaCadastrada) {
  262 + if (criterioCadastrado.getNumeroCriterio().longValue() == criterio
  263 + .getNumeroCriterio().longValue()) {
  264 + if (criterio.getId() != null) {
  265 + if (criterioCadastrado.getId().longValue() != criterio
  266 + .getId().longValue()) {
  267 + return true;
  268 + }
  269 + } else {
  270 + return true;
  271 + }
  272 + }
  273 + }
  274 + return retorno;
  275 + }
  276 +
  277 +
35 private void populateSelectLists() { 278 private void populateSelectLists() {
36 result.include("tipoTesteList", dao.getAllTipoTeste()); 279 result.include("tipoTesteList", dao.getAllTipoTeste());
37 } 280 }
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/FaixaController.java
@@ -11,6 +11,7 @@ import br.com.caelum.vraptor.Result; @@ -11,6 +11,7 @@ import br.com.caelum.vraptor.Result;
11 import br.com.caelum.vraptor.Validator; 11 import br.com.caelum.vraptor.Validator;
12 import br.com.caelum.vraptor.validator.ValidationMessage; 12 import br.com.caelum.vraptor.validator.ValidationMessage;
13 import br.com.eselo.annotations.Restrito; 13 import br.com.eselo.annotations.Restrito;
  14 +import br.com.eselo.component.CopiadorParametroAvaliacao;
14 import br.com.eselo.component.Messages; 15 import br.com.eselo.component.Messages;
15 import br.com.eselo.component.UsuarioWeb; 16 import br.com.eselo.component.UsuarioWeb;
16 import br.com.eselo.dao.CriterioDAO; 17 import br.com.eselo.dao.CriterioDAO;
@@ -98,13 +99,15 @@ public class FaixaController { @@ -98,13 +99,15 @@ public class FaixaController {
98 conformidade.getCriterio().getId()); 99 conformidade.getCriterio().getId());
99 } 100 }
100 101
  102 +
  103 + // criarNovoParametroAvaliacao(faixa, tipo)
  104 + //TODO
101 dao.saveAll(conformidades); 105 dao.saveAll(conformidades);
102 106
103 Criterio criterio = daoCriterio.load(criterioId); 107 Criterio criterio = daoCriterio.load(criterioId);
104 108
105 result.include("mensagem", Messages.getString("conformidades.mensagem.salva")); 109 result.include("mensagem", Messages.getString("conformidades.mensagem.salva"));
106 - //TODO  
107 - //result.redirectTo(CriteriosController.class).form(criterio.getRecomendacao().getParametroAvaliacao().getId(), criterio.getId()); 110 + result.redirectTo(ParametroAvaliacaoController.class).index(1);
108 } 111 }
109 112
110 @Put("/conformidades") 113 @Put("/conformidades")
@@ -124,45 +127,22 @@ public class FaixaController { @@ -124,45 +127,22 @@ public class FaixaController {
124 faixaCadastrada.setFaixaInicio(faixa.getFaixaInicio()); 127 faixaCadastrada.setFaixaInicio(faixa.getFaixaInicio());
125 faixaCadastrada.setFaixaFim(faixa.getFaixaFim()); 128 faixaCadastrada.setFaixaFim(faixa.getFaixaFim());
126 129
127 - ParametroAvaliacao ultimoParametroAvaliacao = daoRecomendacao.getLastParametrosAvaliacao();  
128 -  
129 - Recomendacao recomendacao = daoRecomendacao.load(faixa.getCriterio().getRecomendacao().getId());  
130 -//TODO  
131 - /*  
132 - if (daoRecomendacao.hasAvaliacao(ultimoParametroAvaliacao)) {  
133 - criarNovoParametroAvaliacao(recomendacao, faixa);  
134 - } else {  
135 - dao.saveOrUpdate(faixaCadastrada);  
136 - }  
137 -*/  
138 - 130 + criarNovoParametroAvaliacao(faixaCadastrada, ParametroAvaliacaoController.MODO_EDIT);
  131 +
139 result.include("mensagem", 132 result.include("mensagem",
140 Messages.getString("conformidades.mensagem.alterada")); 133 Messages.getString("conformidades.mensagem.alterada"));
141 - result.redirectTo(RecomendacaoController.class).form(recomendacao.getId()); 134 + result.redirectTo(ParametroAvaliacaoController.class).index(1);
142 } 135 }
143 136
144 @Path("/conformidades/delete/{id}") 137 @Path("/conformidades/delete/{id}")
145 @Restrito(descricao = "CONFORMIDADES_EXCLUIR") 138 @Restrito(descricao = "CONFORMIDADES_EXCLUIR")
146 public void excluir(Long id) { 139 public void excluir(Long id) {
147 - Faixa conformidade = dao.load(id);  
148 -  
149 - ParametroAvaliacao ultimoParametroAvaliacao = daoRecomendacao  
150 - .getLastParametrosAvaliacao();  
151 -  
152 - Recomendacao recomendacao = daoRecomendacao  
153 - .load(conformidade.getCriterio().getRecomendacao().getId()); 140 + Faixa faixa = dao.load(id);
154 141
155 - //TODO  
156 - /*  
157 - if (daoRecomendacao.hasAvaliacao(ultimoParametroAvaliacao)) {  
158 - criarNovoParametroAvaliacao(recomendacao, conformidade);  
159 - } else {  
160 - dao.remove(id);  
161 - }  
162 - */ 142 + criarNovoParametroAvaliacao(faixa, ParametroAvaliacaoController.MODO_DELETE);
163 143
164 result.include("mensagem", "Conformidade excluída com sucesso."); 144 result.include("mensagem", "Conformidade excluída com sucesso.");
165 - result.redirectTo(RecomendacaoController.class).form(recomendacao.getId()); 145 + result.redirectTo(ParametroAvaliacaoController.class).index(1);
166 } 146 }
167 147
168 private void populateSelectLists() { 148 private void populateSelectLists() {
@@ -189,60 +169,71 @@ public class FaixaController { @@ -189,60 +169,71 @@ public class FaixaController {
189 } 169 }
190 } 170 }
191 171
192 - private void criarNovoParametroAvaliacao(Recomendacao recomendacao, Faixa faixa) {  
193 - ParametroAvaliacao ultimoParametroAvaliacao = daoRecomendacao.getLastParametrosAvaliacao();  
194 -  
195 - UsuarioDAO uDao = new UsuarioDAO(dao.getSession());  
196 - Usuario usuario = uDao.load(usuarioWeb.getId());  
197 -  
198 - // Cria o parametro  
199 - ParametroAvaliacao parametroAvaliacao = new ParametroAvaliacao();  
200 - parametroAvaliacao.setUsuario(usuario);  
201 - parametroAvaliacao.setTsInicio(new java.util.Date());  
202 - parametroAvaliacao.setTsFim(null);  
203 -  
204 - ultimoParametroAvaliacao.setTsFim(parametroAvaliacao.getTsInicio());  
205 -  
206 - ParametroAvaliacaoDAO paDao = new ParametroAvaliacaoDAO(dao.getSession());  
207 -  
208 - // Cria a lista das diretrizes  
209 - List<Recomendacao> listaCadastrada = daoRecomendacao.recomendacoesDoUltimoParametro(ultimoParametroAvaliacao);  
210 -  
211 - // Salva novo e atualiza o ultimo  
212 - paDao.save(parametroAvaliacao);  
213 - paDao.update(ultimoParametroAvaliacao);  
214 -  
215 - // Salva as diretrizes para nova avaliação  
216 - Recomendacao novaRecomendacao;  
217 - Faixa novaFaixa;  
218 - for (Recomendacao recomendacaoCadastrada : listaCadastrada) {  
219 - novaRecomendacao = new Recomendacao();  
220 - novaRecomendacao.setParametroAvaliacao(parametroAvaliacao);  
221 - novaRecomendacao.setDescricao(recomendacaoCadastrada.getDescricao());  
222 - novaRecomendacao.setPeso(recomendacaoCadastrada.getPeso());  
223 - novaRecomendacao.setNumeroRecomendacao(recomendacaoCadastrada  
224 - .getNumeroRecomendacao());  
225 - novaRecomendacao.setTipoRecomendacao(recomendacaoCadastrada.getTipoRecomendacao());  
226 -  
227 - daoRecomendacao.save(novaRecomendacao);  
228 -//TODO  
229 -/*  
230 - if (recomendacaoCadastrada.getId().equals(recomendacao.getId())) {  
231 - faixa.setCriterio(novaRecomendacao);  
232 - dao.save(faixa);  
233 - }  
234 - 172 + private void criarNovoParametroAvaliacao(Faixa faixa, int tipo) {
  173 + ParametroAvaliacao ultimoParametroAvaliacao = paDAO.getLastParametrosAvaliacao();
  174 + boolean ok = false;
  175 +
  176 + switch (tipo) {
  177 + case ParametroAvaliacaoController.MODO_ADD:
  178 + for(Recomendacao recomendacao: ultimoParametroAvaliacao.getRecomendacoes()){
  179 + if(recomendacao.getId().equals(faixa.getCriterio().getRecomendacao().getId())){
  180 + for(Criterio criterio: recomendacao.getCriterios()){
  181 + if(criterio.getId().equals(faixa.getCriterio().getId())){
  182 + criterio.addFaixa(faixa);
  183 + ok=true;
  184 + break;
  185 +
  186 + }
  187 + }
  188 + }
  189 + }
  190 +
  191 + break;
235 192
236 - for (Faixa conformidadeSalva : recomendacaoCadastrada  
237 - .getConformidades()) {  
238 - novaFaixa = new Faixa();  
239 - novaFaixa.setRecomendacao(novaRecomendacao);  
240 - novaFaixa.setFaixaInicio(conformidadeSalva  
241 - .getFaixaInicio());  
242 - novaFaixa.setFaixaFim(conformidadeSalva.getFaixaFim());  
243 - dao.save(novaFaixa);  
244 - }  
245 -*/ 193 + case ParametroAvaliacaoController.MODO_EDIT:
  194 + for(Recomendacao recomendacao: ultimoParametroAvaliacao.getRecomendacoes()){
  195 + if(recomendacao.getId().equals(faixa.getCriterio().getRecomendacao().getId())){
  196 + for(Criterio criterio: recomendacao.getCriterios()){
  197 + if(criterio.getId().equals(faixa.getCriterio().getId())){
  198 + for(Faixa f: criterio.getFaixas()){
  199 + if(f.getId().equals(faixa.getId())){
  200 + f.setCriterio(faixa.getCriterio());
  201 + f.setDescricao(faixa.getDescricao());
  202 + f.setFaixa(faixa.getFaixa());
  203 + f.setFaixaFim(faixa.getFaixaFim());
  204 + f.setFaixaInicio(faixa.getFaixaInicio());
  205 + f.setId(faixa.getId());
  206 + f.setPercentualConformidade(faixa.getPercentualConformidade());
  207 + ok=true;
  208 + break;
  209 + }
  210 + }
  211 + }
  212 + }
  213 + }
  214 + }
  215 +
  216 + break;
  217 +
  218 + case ParametroAvaliacaoController.MODO_DELETE:
  219 + for(Recomendacao recomendacao: ultimoParametroAvaliacao.getRecomendacoes()){
  220 + if(recomendacao.getId().equals(faixa.getCriterio().getRecomendacao().getId())){
  221 + for(Criterio criterio: recomendacao.getCriterios()){
  222 + if(criterio.getId().equals(faixa.getCriterio().getId())){
  223 + criterio.removeFaixa(faixa);
  224 + ok=true;
  225 + break;
  226 +
  227 + }
  228 + }
  229 + }
  230 + }
  231 +
  232 + break;
  233 + }
  234 +
  235 + if(ok){
  236 + new CopiadorParametroAvaliacao().criarNovoParametroAvaliacao(ultimoParametroAvaliacao, usuarioWeb, dao.getSession());
246 } 237 }
247 } 238 }
248 239
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/ParametroAvaliacaoController.java
@@ -30,6 +30,10 @@ public class ParametroAvaliacaoController { @@ -30,6 +30,10 @@ public class ParametroAvaliacaoController {
30 private final Result result; 30 private final Result result;
31 private final Validator validator; 31 private final Validator validator;
32 private final UsuarioWeb usuarioWeb; 32 private final UsuarioWeb usuarioWeb;
  33 +
  34 + protected static final int MODO_ADD = 1;
  35 + protected static final int MODO_EDIT = 2;
  36 + protected static final int MODO_DELETE = 3;
33 37
34 public ParametroAvaliacaoController(ParametroAvaliacaoDAO _dao, 38 public ParametroAvaliacaoController(ParametroAvaliacaoDAO _dao,
35 RecomendacaoDAO _daoRecomendacao, Result _result, Validator _validator, 39 RecomendacaoDAO _daoRecomendacao, Result _result, Validator _validator,
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/RecomendacaoController.java
@@ -28,18 +28,16 @@ public class RecomendacaoController { @@ -28,18 +28,16 @@ public class RecomendacaoController {
28 private final Validator validator; 28 private final Validator validator;
29 private final UsuarioWeb usuarioWeb; 29 private final UsuarioWeb usuarioWeb;
30 30
31 - private static final int MODO_ADD_RECOMENDACAO = 1;  
32 - private static final int MODO_EDIT_RECOMENDACAO = 2;  
33 - private static final int MODO_DELETE_RECOMENDACAO = 3; 31 +
34 32
35 public RecomendacaoController(RecomendacaoDAO _dao, Result _result, 33 public RecomendacaoController(RecomendacaoDAO _dao, Result _result,
36 ParametroAvaliacaoDAO _paDAO, 34 ParametroAvaliacaoDAO _paDAO,
37 Validator _validator, UsuarioWeb _usuarioWeb) { 35 Validator _validator, UsuarioWeb _usuarioWeb) {
38 - dao = _dao;  
39 - result = _result;  
40 - paDAO = _paDAO;  
41 - validator = _validator;  
42 - usuarioWeb = _usuarioWeb; 36 + this.dao = _dao;
  37 + this.result = _result;
  38 + this.paDAO = _paDAO;
  39 + this.validator = _validator;
  40 + this.usuarioWeb = _usuarioWeb;
43 } 41 }
44 42
45 @Get("/recomendacao") 43 @Get("/recomendacao")
@@ -54,17 +52,17 @@ public class RecomendacaoController { @@ -54,17 +52,17 @@ public class RecomendacaoController {
54 ParametroAvaliacao ultimoParametroAvaliacao = dao 52 ParametroAvaliacao ultimoParametroAvaliacao = dao
55 .getLastParametrosAvaliacao(); 53 .getLastParametrosAvaliacao();
56 54
57 - // Paginação 55 + // Paginaçã£o
58 // Quantidade de registros por pagina 56 // Quantidade de registros por pagina
59 int exibi = 7; 57 int exibi = 7;
60 58
61 // Informa a quantidade de registros 59 // Informa a quantidade de registros
62 int registros = dao.numLinhas(ultimoParametroAvaliacao); 60 int registros = dao.numLinhas(ultimoParametroAvaliacao);
63 61
64 - // Quantidade de paginas na paginação 62 + // Quantidade de paginas na paginaçã£o
65 int totalPag = registros / exibi; 63 int totalPag = registros / exibi;
66 64
67 - // Se houver resto na divisao acima acrescenta uma pagina na paginação 65 + // Se houver resto na divisao acima acrescenta uma pagina na paginaçã£o
68 if ((registros - (totalPag * exibi)) > 0) 66 if ((registros - (totalPag * exibi)) > 0)
69 totalPag++; 67 totalPag++;
70 68
@@ -76,7 +74,7 @@ public class RecomendacaoController { @@ -76,7 +74,7 @@ public class RecomendacaoController {
76 regFim = registros; 74 regFim = registros;
77 } 75 }
78 76
79 - // Fim paginação 77 + // Fim paginaçã£o
80 List<Recomendacao> resultado = dao.listAllAtivas(ultimoParametroAvaliacao); 78 List<Recomendacao> resultado = dao.listAllAtivas(ultimoParametroAvaliacao);
81 List<Recomendacao> paginacao = new ArrayList<Recomendacao>(); 79 List<Recomendacao> paginacao = new ArrayList<Recomendacao>();
82 80
@@ -111,16 +109,16 @@ public class RecomendacaoController { @@ -111,16 +109,16 @@ public class RecomendacaoController {
111 109
112 if (recomendacao.getNumeroRecomendacao() == null) { 110 if (recomendacao.getNumeroRecomendacao() == null) {
113 validator.add(new ValidationMessage( 111 validator.add(new ValidationMessage(
114 - "É obrigatório informar o número da recomendação.", 112 + "É obrigatório informar o número da recomendaçã£o.",
115 "recomendacao.numeroRecomendacao")); 113 "recomendacao.numeroRecomendacao"));
116 } else if (hasNumeroRecomendacaoNoParametroAtual(recomendacao)) { 114 } else if (hasNumeroRecomendacaoNoParametroAtual(recomendacao)) {
117 validator 115 validator
118 .add(new ValidationMessage( 116 .add(new ValidationMessage(
119 - "Já existe uma recomendação ativa com esse numero. Recomendação não cadastrada.", 117 + "Já existe uma recomendaçã£o ativa com esse numero. Recomendaçã£o não cadastrada.",
120 "recomendacao.numeroRecomendacao")); 118 "recomendacao.numeroRecomendacao"));
121 } else if (recomendacao.getDescricao() == null) { 119 } else if (recomendacao.getDescricao() == null) {
122 validator.add(new ValidationMessage( 120 validator.add(new ValidationMessage(
123 - "É obrigatório informar a descrição da recomendação.", 121 + "É obrigatório informar a descriçã£o da recomendação.",
124 "recomendacao.descricao")); 122 "recomendacao.descricao"));
125 } else if (recomendacao.getPeso() == null) { 123 } else if (recomendacao.getPeso() == null) {
126 validator.add(new ValidationMessage( 124 validator.add(new ValidationMessage(
@@ -135,11 +133,10 @@ public class RecomendacaoController { @@ -135,11 +133,10 @@ public class RecomendacaoController {
135 validator.onErrorUsePageOf(RecomendacaoController.class).form( 133 validator.onErrorUsePageOf(RecomendacaoController.class).form(
136 recomendacao.getParametroAvaliacao().getId()); 134 recomendacao.getParametroAvaliacao().getId());
137 135
138 - this.criarNovoParametroAvaliacao(recomendacao, MODO_ADD_RECOMENDACAO); 136 + this.criarNovoParametroAvaliacao(recomendacao, ParametroAvaliacaoController.MODO_ADD);
139 137
140 result.include("mensagem", "Recomendação salva com sucesso."); 138 result.include("mensagem", "Recomendação salva com sucesso.");
141 - result.redirectTo(ParametroAvaliacaoController.class).form(  
142 - recomendacao.getParametroAvaliacao().getId()); 139 + result.redirectTo(ParametroAvaliacaoController.class).index(1);
143 } 140 }
144 141
145 @Put("/recomendacao") 142 @Put("/recomendacao")
@@ -151,30 +148,29 @@ public class RecomendacaoController { @@ -151,30 +148,29 @@ public class RecomendacaoController {
151 148
152 if (recomendacao.getNumeroRecomendacao() == null) { 149 if (recomendacao.getNumeroRecomendacao() == null) {
153 validator.add(new ValidationMessage( 150 validator.add(new ValidationMessage(
154 - "É obrigatório informar o número da recomendação.", 151 + "É obrigatório informar o número da recomendação.",
155 "recomendacao.numeroRecomendacao")); 152 "recomendacao.numeroRecomendacao"));
156 } else if (hasNumeroRecomendacaoNoParametroAtual(recomendacao)) { 153 } else if (hasNumeroRecomendacaoNoParametroAtual(recomendacao)) {
157 validator 154 validator
158 .add(new ValidationMessage( 155 .add(new ValidationMessage(
159 - "Já existe uma recomendação ativa com esse numero. Recomendação não atualizada.", 156 + "Já existe uma recomendação ativa com esse numero. Recomendaçã£o não atualizada.",
160 "recomendacao.numeroRecomendacao")); 157 "recomendacao.numeroRecomendacao"));
161 } else if (recomendacao.getDescricao() == null) { 158 } else if (recomendacao.getDescricao() == null) {
162 validator.add(new ValidationMessage( 159 validator.add(new ValidationMessage(
163 - "É obrigatório informar a descrição da recomendação.", 160 + "É obrigatório informar a descriçã£o da recomendaçã£o.",
164 "recomendacao.descricao")); 161 "recomendacao.descricao"));
165 } else if (recomendacao.getPeso() == null) { 162 } else if (recomendacao.getPeso() == null) {
166 validator.add(new ValidationMessage( 163 validator.add(new ValidationMessage(
167 - "É obrigatório informar o peso da recomendação.", 164 + "É obrigatório informar o peso da recomendaçã£o.",
168 "recomendacao.peso")); 165 "recomendacao.peso"));
169 } 166 }
170 167
171 validator.onErrorUsePageOf(ParametroAvaliacaoController.class).form( 168 validator.onErrorUsePageOf(ParametroAvaliacaoController.class).form(
172 recomendacaoCadastrada.getParametroAvaliacao().getId()); 169 recomendacaoCadastrada.getParametroAvaliacao().getId());
173 170
174 - criarNovoParametroAvaliacao(recomendacao, MODO_EDIT_RECOMENDACAO); 171 + criarNovoParametroAvaliacao(recomendacao, ParametroAvaliacaoController.MODO_EDIT);
175 172
176 - result.redirectTo(ParametroAvaliacaoController.class).form(  
177 - recomendacaoCadastrada.getParametroAvaliacao().getId()); 173 + result.redirectTo(ParametroAvaliacaoController.class).index(1);
178 } 174 }
179 175
180 @Path("/recomendacao/delete/{id}") 176 @Path("/recomendacao/delete/{id}")
@@ -182,10 +178,10 @@ public class RecomendacaoController { @@ -182,10 +178,10 @@ public class RecomendacaoController {
182 public void excluir(Long id) { 178 public void excluir(Long id) {
183 Recomendacao recomendacao = dao.load(id); 179 Recomendacao recomendacao = dao.load(id);
184 180
185 - criarNovoParametroAvaliacao(recomendacao, MODO_DELETE_RECOMENDACAO); 181 + criarNovoParametroAvaliacao(recomendacao, ParametroAvaliacaoController.MODO_DELETE);
186 182
187 - result.include("mensagem", "Recomendação excluída com sucesso.");  
188 - result.redirectTo(RecomendacaoController.class).index(1); 183 + result.include("mensagem", "Recomendaçã£o excluída com sucesso.");
  184 + result.redirectTo(ParametroAvaliacaoController.class).index(1);
189 } 185 }
190 186
191 private void criarNovoParametroAvaliacao(Recomendacao recomendacao, int tipo) { 187 private void criarNovoParametroAvaliacao(Recomendacao recomendacao, int tipo) {
@@ -193,14 +189,14 @@ public class RecomendacaoController { @@ -193,14 +189,14 @@ public class RecomendacaoController {
193 boolean ok = false; 189 boolean ok = false;
194 190
195 switch (tipo) { 191 switch (tipo) {
196 - case MODO_ADD_RECOMENDACAO: 192 + case ParametroAvaliacaoController.MODO_ADD:
197 ultimoParametroAvaliacao.addRecomendacao(recomendacao); 193 ultimoParametroAvaliacao.addRecomendacao(recomendacao);
198 ok=true; 194 ok=true;
199 break; 195 break;
200 196
201 - case MODO_EDIT_RECOMENDACAO: 197 + case ParametroAvaliacaoController.MODO_EDIT:
202 for(Recomendacao r: ultimoParametroAvaliacao.getRecomendacoes()){ 198 for(Recomendacao r: ultimoParametroAvaliacao.getRecomendacoes()){
203 - if(r.getId().equals(recomendacao.getId())){ 199 + if(r.getId().longValue() == recomendacao.getId().longValue()){
204 200
205 r.setParametroAvaliacao(recomendacao.getParametroAvaliacao()); 201 r.setParametroAvaliacao(recomendacao.getParametroAvaliacao());
206 r.setNumeroRecomendacao(recomendacao.getNumeroRecomendacao()); 202 r.setNumeroRecomendacao(recomendacao.getNumeroRecomendacao());
@@ -216,10 +212,10 @@ public class RecomendacaoController { @@ -216,10 +212,10 @@ public class RecomendacaoController {
216 212
217 break; 213 break;
218 214
219 - case MODO_DELETE_RECOMENDACAO: 215 + case ParametroAvaliacaoController.MODO_DELETE:
220 for(Recomendacao r: ultimoParametroAvaliacao.getRecomendacoes()){ 216 for(Recomendacao r: ultimoParametroAvaliacao.getRecomendacoes()){
221 - if(r.getId().equals(recomendacao.getId())){  
222 - ultimoParametroAvaliacao.remove(recomendacao); 217 + if(r.getId().longValue() == recomendacao.getId().longValue()){
  218 + ultimoParametroAvaliacao.removeRecomendacao(recomendacao);
223 ok=true; 219 ok=true;
224 break; 220 break;
225 } 221 }
@@ -233,8 +229,8 @@ public class RecomendacaoController { @@ -233,8 +229,8 @@ public class RecomendacaoController {
233 } 229 }
234 230
235 /** 231 /**
236 - * Recebe uma recomendação antes de ser cadastrada e verifica se ja existe uma  
237 - * recomendação ativa com o mesmo numero. 232 + * Recebe uma recomendaçã£o antes de ser cadastrada e verifica se ja existe uma
  233 + * recomendação ativa com o mesmo numero.
238 * 234 *
239 * @param recomendacao 235 * @param recomendacao
240 * @return boolean 236 * @return boolean
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Criterio.java
@@ -118,6 +118,10 @@ public class Criterio { @@ -118,6 +118,10 @@ public class Criterio {
118 this.faixas.add(faixa); 118 this.faixas.add(faixa);
119 } 119 }
120 120
  121 + public void removeFaixa(Faixa faixa){
  122 + this.faixas.remove(faixa);
  123 + }
  124 +
121 public double getResultadoTeste(CriterioAvaliado criterioAvaliado){ 125 public double getResultadoTeste(CriterioAvaliado criterioAvaliado){
122 double percentualErros = criterioAvaliado.getPercentualErros(); 126 double percentualErros = criterioAvaliado.getPercentualErros();
123 double resultado = 0.0; 127 double resultado = 0.0;
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/ParametroAvaliacao.java
@@ -66,7 +66,7 @@ public class ParametroAvaliacao { @@ -66,7 +66,7 @@ public class ParametroAvaliacao {
66 this.recomendacoes.add(recomendacao); 66 this.recomendacoes.add(recomendacao);
67 } 67 }
68 68
69 - public void remove(Recomendacao recomendacao){ 69 + public void removeRecomendacao(Recomendacao recomendacao){
70 this.recomendacoes.remove(recomendacao); 70 this.recomendacoes.remove(recomendacao);
71 } 71 }
72 72
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Recomendacao.java
@@ -60,6 +60,10 @@ public class Recomendacao { @@ -60,6 +60,10 @@ public class Recomendacao {
60 this.criterios.add(criterio); 60 this.criterios.add(criterio);
61 } 61 }
62 62
  63 + public void removeCriterio(Criterio criterio){
  64 + this.criterios.remove(criterio);
  65 + }
  66 +
63 @ManyToOne(fetch = FetchType.LAZY) 67 @ManyToOne(fetch = FetchType.LAZY)
64 @JoinColumn(name = "id_tipo_recomendacao", columnDefinition = "integer", nullable = false, insertable = true, updatable = true) 68 @JoinColumn(name = "id_tipo_recomendacao", columnDefinition = "integer", nullable = false, insertable = true, updatable = true)
65 @ForeignKey(name = "fk_sel_diretriz_sel_tipo_diretriz") 69 @ForeignKey(name = "fk_sel_diretriz_sel_tipo_diretriz")