From 129ff833645dcabc59bb0e967635f539d413275a Mon Sep 17 00:00:00 2001 From: magno.oliveira Date: Fri, 25 Jul 2014 10:25:25 +0000 Subject: [PATCH] Alteração nos parametros de avaliação [parcial] --- Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/CriteriosController.java | 245 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/FaixaController.java | 159 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------ Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/ParametroAvaliacaoController.java | 4 ++++ Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/RecomendacaoController.java | 68 ++++++++++++++++++++++++++++++++------------------------------------ Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Criterio.java | 4 ++++ Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/ParametroAvaliacao.java | 2 +- Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Recomendacao.java | 4 ++++ 7 files changed, 364 insertions(+), 122 deletions(-) diff --git a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/CriteriosController.java b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/CriteriosController.java index db28d2d..069ed37 100644 --- a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/CriteriosController.java +++ b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/CriteriosController.java @@ -1,12 +1,24 @@ package br.com.eselo.controller; +import java.util.ArrayList; +import java.util.List; + import br.com.caelum.vraptor.Get; +import br.com.caelum.vraptor.Path; +import br.com.caelum.vraptor.Put; import br.com.caelum.vraptor.Resource; import br.com.caelum.vraptor.Result; +import br.com.caelum.vraptor.Validator; +import br.com.caelum.vraptor.validator.ValidationMessage; import br.com.eselo.annotations.Restrito; +import br.com.eselo.component.CopiadorParametroAvaliacao; +import br.com.eselo.component.UsuarioWeb; import br.com.eselo.dao.CriterioDAO; import br.com.eselo.dao.ParametroAvaliacaoDAO; +import br.com.eselo.dao.RecomendacaoDAO; import br.com.eselo.model.Criterio; +import br.com.eselo.model.ParametroAvaliacao; +import br.com.eselo.model.Recomendacao; @Resource public class CriteriosController { @@ -14,13 +26,69 @@ public class CriteriosController { private final CriterioDAO dao; private final ParametroAvaliacaoDAO paDAO; private final Result result; + private final Validator validator; + private final UsuarioWeb usuarioWeb; - public CriteriosController(CriterioDAO _dao, ParametroAvaliacaoDAO _paDAO, Result _result) { + public CriteriosController(CriterioDAO _dao, ParametroAvaliacaoDAO _paDAO, Result _result, Validator _validator, UsuarioWeb _usuarioWeb) { this.dao = _dao; this.paDAO = _paDAO; this.result = _result; + this.validator = _validator; + this.usuarioWeb=_usuarioWeb; + } + + public List lista() { + return this.index(1); } + + + + @Get("/criterio/{pagina}") + @Restrito(descricao = "CRITERIO_LISTA") + public List index(int pagina) { + ParametroAvaliacao ultimoParametroAvaliacao = dao.getLastParametrosAvaliacao(); + + // Paginaçã£o + // Quantidade de registros por pagina + int exibi = 7; + + // Informa a quantidade de registros + int registros = dao.numLinhas(ultimoParametroAvaliacao); + + // Quantidade de paginas na paginaçã£o + int totalPag = registros / exibi; + + // Se houver resto na divisao acima acrescenta uma pagina na paginaçã£o + if ((registros - (totalPag * exibi)) > 0) + totalPag++; + + // Calculo do registro inicial e final + int regIni = ((exibi * pagina) - exibi); + int regFim = (regIni + exibi); + + if (regFim > registros) { + regFim = registros; + } + + // Fim paginaçã£o + List resultado = dao.listAllAtivas(ultimoParametroAvaliacao); + List paginacao = new ArrayList(); + + for (int i = regIni; i < regFim; i++) { + paginacao.add(resultado.get(i)); + } + + result.include("paginas", totalPag); + result.include("registros", registros); + result.include("regInic", ++regIni); + result.include("regFim", regFim); + result.include("controle", "diretriz"); + result.include("parametroAvaliacao", ultimoParametroAvaliacao); + + return paginacao; + } + @Get("/criterios/form/{id}") @Restrito(descricao = "CRITERIO_ATUALIZAR") public Criterio form(Long id) { @@ -32,6 +100,181 @@ public class CriteriosController { return criterio; } + + + + + +public void adicionar(Criterio criterio) { + + if (criterio.getNumeroCriterio() == null) { + validator.add(new ValidationMessage( + "É obrigatório informar o número do critério.", + "recomendacao.numeroRecomendacao")); + } else if (hasNumeroCriNterioRecomendacaoAtual(criterio)) { + validator + .add(new ValidationMessage( + "Já existe uma recomendaçã£o ativa com esse numero. Recomendaçã£o não cadastrada.", + "recomendacao.numeroRecomendacao")); + } else if (criterio.getDescricao() == null) { + validator.add(new ValidationMessage( + "É obrigatório informar a descriçã£o da recomendação.", + "recomendacao.descricao")); + } else if (criterio.getPeso() == null) { + validator.add(new ValidationMessage( + "É obrigatório informar o peso da recomendação.", + "recomendacao.peso")); + } else if (criterio.getPeso() <= 0) { + validator.add(new ValidationMessage( + "O peso da recomendação deve ser maior que zero.", + "recomendacao.peso")); + } + + validator.onErrorUsePageOf(RecomendacaoController.class).form( + criterio.getParametroAvaliacao().getId()); + + this.criarNovoParametroAvaliacao(criterio, ParametroAvaliacaoController.MODO_ADD); + + result.include("mensagem", "Recomendação salva com sucesso."); + result.redirectTo(ParametroAvaliacaoController.class).index(1); + } + + @Put("/recomendacao") + @Restrito(descricao = "RECOMENDACAO_ATUALIZAR") + public void atualizar(Recomendacao recomendacao) { + Recomendacao recomendacaoCadastrada = dao.load(recomendacao.getId()); + recomendacaoCadastrada.setNumeroRecomendacao(recomendacao.getNumeroRecomendacao()); + recomendacaoCadastrada.setDescricao(recomendacao.getDescricao()); + + if (recomendacao.getNumeroRecomendacao() == null) { + validator.add(new ValidationMessage( + "É obrigatório informar o número da recomendação.", + "recomendacao.numeroRecomendacao")); + } else if (hasNumeroCriNoParametroAtual(recomendacao)) { + validator + .add(new ValidationMessage( + "Já existe uma recomendação ativa com esse numero. Recomendaçã£o não atualizada.", + "recomendacao.numeroRecomendacao")); + } else if (recomendacao.getDescricao() == null) { + validator.add(new ValidationMessage( + "É obrigatório informar a descriçã£o da recomendaçã£o.", + "recomendacao.descricao")); + } else if (recomendacao.getPeso() == null) { + validator.add(new ValidationMessage( + "É obrigatório informar o peso da recomendaçã£o.", + "recomendacao.peso")); + } + + validator.onErrorUsePageOf(ParametroAvaliacaoController.class).form( + recomendacaoCadastrada.getParametroAvaliacao().getId()); + + criarNovoParametroAvaliacao(recomendacao, ParametroAvaliacaoController.MODO_EDIT); + + result.redirectTo(ParametroAvaliacaoController.class).index(1); + } + + @Path("/recomendacao/delete/{id}") + @Restrito(descricao = "RECOMENDACAO_EXCLUIR") + public void excluir(Long id) { + Recomendacao recomendacao = dao.load(id); + + criarNovoParametroAvaliacao(recomendacao, ParametroAvaliacaoController.MODO_DELETE); + + result.include("mensagem", "Recomendaçã£o excluída com sucesso."); + result.redirectTo(ParametroAvaliacaoController.class).index(1); + } + + + + + + + + private void criarNovoParametroAvaliacao(Criterio criterio, int tipo) { + ParametroAvaliacao ultimoParametroAvaliacao = paDAO.getLastParametrosAvaliacao(); + boolean ok = false; + + switch (tipo) { + case ParametroAvaliacaoController.MODO_ADD: + for(Recomendacao recomendacao: ultimoParametroAvaliacao.getRecomendacoes()){ + if(recomendacao.getId().equals(criterio.getRecomendacao().getId())){ + recomendacao.addCriterio(criterio); + ok=true; + break; + } + } + + break; + + + case ParametroAvaliacaoController.MODO_EDIT: + for(Recomendacao recomendacao: ultimoParametroAvaliacao.getRecomendacoes()){ + if(recomendacao.getId().equals(criterio.getRecomendacao().getId())){ + for(Criterio c: recomendacao.getCriterios()){ + if(criterio.getId().equals(c.getId())){ + c.setDescricao(criterio.getDescricao()); + c.setFaixas(criterio.getFaixas()); + c.setId(criterio.getId()); + c.setNumeroCriterio(criterio.getNumeroCriterio()); + c.setPeso(criterio.getPeso()); + c.setRecomendacao(criterio.getRecomendacao()); + c.setTipoTeste(criterio.getTipoTeste()); + + ok=true; + break; + } + } + } + } + + break; + + case ParametroAvaliacaoController.MODO_DELETE: + for(Recomendacao recomendacao: ultimoParametroAvaliacao.getRecomendacoes()){ + if(recomendacao.getId().equals(criterio.getRecomendacao().getId())){ + recomendacao.removeCriterio(criterio); + ok=true; + break; + } + } + break; + } + + if(ok){ + new CopiadorParametroAvaliacao().criarNovoParametroAvaliacao(ultimoParametroAvaliacao, usuarioWeb, dao.getSession()); + } + } + + + + /** + * Recebe um critério antes de ser cadastrad0 e verifica se ja existe um + * criterio ativo com o mesmo numero. + * + * @param criterio + * @return boolean + */ + private boolean hasNumeroCriNterioRecomendacaoAtual(Criterio criterio) { + boolean retorno = false; + + List listaCadastrada = new RecomendacaoDAO(dao.getSession()).load(criterio.getRecomendacao().getId()).getCriterios(); + for (Criterio criterioCadastrado : listaCadastrada) { + if (criterioCadastrado.getNumeroCriterio().longValue() == criterio + .getNumeroCriterio().longValue()) { + if (criterio.getId() != null) { + if (criterioCadastrado.getId().longValue() != criterio + .getId().longValue()) { + return true; + } + } else { + return true; + } + } + } + return retorno; + } + + private void populateSelectLists() { result.include("tipoTesteList", dao.getAllTipoTeste()); } diff --git a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/FaixaController.java b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/FaixaController.java index 7ca2fbd..a2ba362 100644 --- a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/FaixaController.java +++ b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/FaixaController.java @@ -11,6 +11,7 @@ import br.com.caelum.vraptor.Result; import br.com.caelum.vraptor.Validator; import br.com.caelum.vraptor.validator.ValidationMessage; import br.com.eselo.annotations.Restrito; +import br.com.eselo.component.CopiadorParametroAvaliacao; import br.com.eselo.component.Messages; import br.com.eselo.component.UsuarioWeb; import br.com.eselo.dao.CriterioDAO; @@ -98,13 +99,15 @@ public class FaixaController { conformidade.getCriterio().getId()); } + + // criarNovoParametroAvaliacao(faixa, tipo) + //TODO dao.saveAll(conformidades); Criterio criterio = daoCriterio.load(criterioId); result.include("mensagem", Messages.getString("conformidades.mensagem.salva")); - //TODO - //result.redirectTo(CriteriosController.class).form(criterio.getRecomendacao().getParametroAvaliacao().getId(), criterio.getId()); + result.redirectTo(ParametroAvaliacaoController.class).index(1); } @Put("/conformidades") @@ -124,45 +127,22 @@ public class FaixaController { faixaCadastrada.setFaixaInicio(faixa.getFaixaInicio()); faixaCadastrada.setFaixaFim(faixa.getFaixaFim()); - ParametroAvaliacao ultimoParametroAvaliacao = daoRecomendacao.getLastParametrosAvaliacao(); - - Recomendacao recomendacao = daoRecomendacao.load(faixa.getCriterio().getRecomendacao().getId()); -//TODO - /* - if (daoRecomendacao.hasAvaliacao(ultimoParametroAvaliacao)) { - criarNovoParametroAvaliacao(recomendacao, faixa); - } else { - dao.saveOrUpdate(faixaCadastrada); - } -*/ - + criarNovoParametroAvaliacao(faixaCadastrada, ParametroAvaliacaoController.MODO_EDIT); + result.include("mensagem", Messages.getString("conformidades.mensagem.alterada")); - result.redirectTo(RecomendacaoController.class).form(recomendacao.getId()); + result.redirectTo(ParametroAvaliacaoController.class).index(1); } @Path("/conformidades/delete/{id}") @Restrito(descricao = "CONFORMIDADES_EXCLUIR") public void excluir(Long id) { - Faixa conformidade = dao.load(id); - - ParametroAvaliacao ultimoParametroAvaliacao = daoRecomendacao - .getLastParametrosAvaliacao(); - - Recomendacao recomendacao = daoRecomendacao - .load(conformidade.getCriterio().getRecomendacao().getId()); + Faixa faixa = dao.load(id); - //TODO - /* - if (daoRecomendacao.hasAvaliacao(ultimoParametroAvaliacao)) { - criarNovoParametroAvaliacao(recomendacao, conformidade); - } else { - dao.remove(id); - } - */ + criarNovoParametroAvaliacao(faixa, ParametroAvaliacaoController.MODO_DELETE); result.include("mensagem", "Conformidade excluída com sucesso."); - result.redirectTo(RecomendacaoController.class).form(recomendacao.getId()); + result.redirectTo(ParametroAvaliacaoController.class).index(1); } private void populateSelectLists() { @@ -189,60 +169,71 @@ public class FaixaController { } } - private void criarNovoParametroAvaliacao(Recomendacao recomendacao, Faixa faixa) { - ParametroAvaliacao ultimoParametroAvaliacao = daoRecomendacao.getLastParametrosAvaliacao(); - - UsuarioDAO uDao = new UsuarioDAO(dao.getSession()); - Usuario usuario = uDao.load(usuarioWeb.getId()); - - // Cria o parametro - ParametroAvaliacao parametroAvaliacao = new ParametroAvaliacao(); - parametroAvaliacao.setUsuario(usuario); - parametroAvaliacao.setTsInicio(new java.util.Date()); - parametroAvaliacao.setTsFim(null); - - ultimoParametroAvaliacao.setTsFim(parametroAvaliacao.getTsInicio()); - - ParametroAvaliacaoDAO paDao = new ParametroAvaliacaoDAO(dao.getSession()); - - // Cria a lista das diretrizes - List listaCadastrada = daoRecomendacao.recomendacoesDoUltimoParametro(ultimoParametroAvaliacao); - - // Salva novo e atualiza o ultimo - paDao.save(parametroAvaliacao); - paDao.update(ultimoParametroAvaliacao); - - // Salva as diretrizes para nova avaliação - Recomendacao novaRecomendacao; - Faixa novaFaixa; - for (Recomendacao recomendacaoCadastrada : listaCadastrada) { - novaRecomendacao = new Recomendacao(); - novaRecomendacao.setParametroAvaliacao(parametroAvaliacao); - novaRecomendacao.setDescricao(recomendacaoCadastrada.getDescricao()); - novaRecomendacao.setPeso(recomendacaoCadastrada.getPeso()); - novaRecomendacao.setNumeroRecomendacao(recomendacaoCadastrada - .getNumeroRecomendacao()); - novaRecomendacao.setTipoRecomendacao(recomendacaoCadastrada.getTipoRecomendacao()); - - daoRecomendacao.save(novaRecomendacao); -//TODO -/* - if (recomendacaoCadastrada.getId().equals(recomendacao.getId())) { - faixa.setCriterio(novaRecomendacao); - dao.save(faixa); - } - + private void criarNovoParametroAvaliacao(Faixa faixa, int tipo) { + ParametroAvaliacao ultimoParametroAvaliacao = paDAO.getLastParametrosAvaliacao(); + boolean ok = false; + + switch (tipo) { + case ParametroAvaliacaoController.MODO_ADD: + for(Recomendacao recomendacao: ultimoParametroAvaliacao.getRecomendacoes()){ + if(recomendacao.getId().equals(faixa.getCriterio().getRecomendacao().getId())){ + for(Criterio criterio: recomendacao.getCriterios()){ + if(criterio.getId().equals(faixa.getCriterio().getId())){ + criterio.addFaixa(faixa); + ok=true; + break; + + } + } + } + } + + break; - for (Faixa conformidadeSalva : recomendacaoCadastrada - .getConformidades()) { - novaFaixa = new Faixa(); - novaFaixa.setRecomendacao(novaRecomendacao); - novaFaixa.setFaixaInicio(conformidadeSalva - .getFaixaInicio()); - novaFaixa.setFaixaFim(conformidadeSalva.getFaixaFim()); - dao.save(novaFaixa); - } -*/ + case ParametroAvaliacaoController.MODO_EDIT: + for(Recomendacao recomendacao: ultimoParametroAvaliacao.getRecomendacoes()){ + if(recomendacao.getId().equals(faixa.getCriterio().getRecomendacao().getId())){ + for(Criterio criterio: recomendacao.getCriterios()){ + if(criterio.getId().equals(faixa.getCriterio().getId())){ + for(Faixa f: criterio.getFaixas()){ + if(f.getId().equals(faixa.getId())){ + f.setCriterio(faixa.getCriterio()); + f.setDescricao(faixa.getDescricao()); + f.setFaixa(faixa.getFaixa()); + f.setFaixaFim(faixa.getFaixaFim()); + f.setFaixaInicio(faixa.getFaixaInicio()); + f.setId(faixa.getId()); + f.setPercentualConformidade(faixa.getPercentualConformidade()); + ok=true; + break; + } + } + } + } + } + } + + break; + + case ParametroAvaliacaoController.MODO_DELETE: + for(Recomendacao recomendacao: ultimoParametroAvaliacao.getRecomendacoes()){ + if(recomendacao.getId().equals(faixa.getCriterio().getRecomendacao().getId())){ + for(Criterio criterio: recomendacao.getCriterios()){ + if(criterio.getId().equals(faixa.getCriterio().getId())){ + criterio.removeFaixa(faixa); + ok=true; + break; + + } + } + } + } + + break; + } + + if(ok){ + new CopiadorParametroAvaliacao().criarNovoParametroAvaliacao(ultimoParametroAvaliacao, usuarioWeb, dao.getSession()); } } diff --git a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/ParametroAvaliacaoController.java b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/ParametroAvaliacaoController.java index 784e6c7..6a2330a 100644 --- a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/ParametroAvaliacaoController.java +++ b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/ParametroAvaliacaoController.java @@ -30,6 +30,10 @@ public class ParametroAvaliacaoController { private final Result result; private final Validator validator; private final UsuarioWeb usuarioWeb; + + protected static final int MODO_ADD = 1; + protected static final int MODO_EDIT = 2; + protected static final int MODO_DELETE = 3; public ParametroAvaliacaoController(ParametroAvaliacaoDAO _dao, RecomendacaoDAO _daoRecomendacao, Result _result, Validator _validator, diff --git a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/RecomendacaoController.java b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/RecomendacaoController.java index 8de168a..46102e7 100644 --- a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/RecomendacaoController.java +++ b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/RecomendacaoController.java @@ -28,18 +28,16 @@ public class RecomendacaoController { private final Validator validator; private final UsuarioWeb usuarioWeb; - private static final int MODO_ADD_RECOMENDACAO = 1; - private static final int MODO_EDIT_RECOMENDACAO = 2; - private static final int MODO_DELETE_RECOMENDACAO = 3; + public RecomendacaoController(RecomendacaoDAO _dao, Result _result, ParametroAvaliacaoDAO _paDAO, Validator _validator, UsuarioWeb _usuarioWeb) { - dao = _dao; - result = _result; - paDAO = _paDAO; - validator = _validator; - usuarioWeb = _usuarioWeb; + this.dao = _dao; + this.result = _result; + this.paDAO = _paDAO; + this.validator = _validator; + this.usuarioWeb = _usuarioWeb; } @Get("/recomendacao") @@ -54,17 +52,17 @@ public class RecomendacaoController { ParametroAvaliacao ultimoParametroAvaliacao = dao .getLastParametrosAvaliacao(); - // Paginação + // Paginaçã£o // Quantidade de registros por pagina int exibi = 7; // Informa a quantidade de registros int registros = dao.numLinhas(ultimoParametroAvaliacao); - // Quantidade de paginas na paginação + // Quantidade de paginas na paginaçã£o int totalPag = registros / exibi; - // Se houver resto na divisao acima acrescenta uma pagina na paginação + // Se houver resto na divisao acima acrescenta uma pagina na paginaçã£o if ((registros - (totalPag * exibi)) > 0) totalPag++; @@ -76,7 +74,7 @@ public class RecomendacaoController { regFim = registros; } - // Fim paginação + // Fim paginaçã£o List resultado = dao.listAllAtivas(ultimoParametroAvaliacao); List paginacao = new ArrayList(); @@ -111,16 +109,16 @@ public class RecomendacaoController { if (recomendacao.getNumeroRecomendacao() == null) { validator.add(new ValidationMessage( - "É obrigatório informar o número da recomendação.", + "É obrigatório informar o número da recomendaçã£o.", "recomendacao.numeroRecomendacao")); } else if (hasNumeroRecomendacaoNoParametroAtual(recomendacao)) { validator .add(new ValidationMessage( - "Já existe uma recomendação ativa com esse numero. Recomendação não cadastrada.", + "Já existe uma recomendaçã£o ativa com esse numero. Recomendaçã£o não cadastrada.", "recomendacao.numeroRecomendacao")); } else if (recomendacao.getDescricao() == null) { validator.add(new ValidationMessage( - "É obrigatório informar a descrição da recomendação.", + "É obrigatório informar a descriçã£o da recomendação.", "recomendacao.descricao")); } else if (recomendacao.getPeso() == null) { validator.add(new ValidationMessage( @@ -135,11 +133,10 @@ public class RecomendacaoController { validator.onErrorUsePageOf(RecomendacaoController.class).form( recomendacao.getParametroAvaliacao().getId()); - this.criarNovoParametroAvaliacao(recomendacao, MODO_ADD_RECOMENDACAO); + this.criarNovoParametroAvaliacao(recomendacao, ParametroAvaliacaoController.MODO_ADD); result.include("mensagem", "Recomendação salva com sucesso."); - result.redirectTo(ParametroAvaliacaoController.class).form( - recomendacao.getParametroAvaliacao().getId()); + result.redirectTo(ParametroAvaliacaoController.class).index(1); } @Put("/recomendacao") @@ -151,30 +148,29 @@ public class RecomendacaoController { if (recomendacao.getNumeroRecomendacao() == null) { validator.add(new ValidationMessage( - "É obrigatório informar o número da recomendação.", + "É obrigatório informar o número da recomendação.", "recomendacao.numeroRecomendacao")); } else if (hasNumeroRecomendacaoNoParametroAtual(recomendacao)) { validator .add(new ValidationMessage( - "Já existe uma recomendação ativa com esse numero. Recomendação não atualizada.", + "Já existe uma recomendação ativa com esse numero. Recomendaçã£o não atualizada.", "recomendacao.numeroRecomendacao")); } else if (recomendacao.getDescricao() == null) { validator.add(new ValidationMessage( - "É obrigatório informar a descrição da recomendação.", + "É obrigatório informar a descriçã£o da recomendaçã£o.", "recomendacao.descricao")); } else if (recomendacao.getPeso() == null) { validator.add(new ValidationMessage( - "É obrigatório informar o peso da recomendação.", + "É obrigatório informar o peso da recomendaçã£o.", "recomendacao.peso")); } validator.onErrorUsePageOf(ParametroAvaliacaoController.class).form( recomendacaoCadastrada.getParametroAvaliacao().getId()); - criarNovoParametroAvaliacao(recomendacao, MODO_EDIT_RECOMENDACAO); + criarNovoParametroAvaliacao(recomendacao, ParametroAvaliacaoController.MODO_EDIT); - result.redirectTo(ParametroAvaliacaoController.class).form( - recomendacaoCadastrada.getParametroAvaliacao().getId()); + result.redirectTo(ParametroAvaliacaoController.class).index(1); } @Path("/recomendacao/delete/{id}") @@ -182,10 +178,10 @@ public class RecomendacaoController { public void excluir(Long id) { Recomendacao recomendacao = dao.load(id); - criarNovoParametroAvaliacao(recomendacao, MODO_DELETE_RECOMENDACAO); + criarNovoParametroAvaliacao(recomendacao, ParametroAvaliacaoController.MODO_DELETE); - result.include("mensagem", "Recomendação excluída com sucesso."); - result.redirectTo(RecomendacaoController.class).index(1); + result.include("mensagem", "Recomendaçã£o excluída com sucesso."); + result.redirectTo(ParametroAvaliacaoController.class).index(1); } private void criarNovoParametroAvaliacao(Recomendacao recomendacao, int tipo) { @@ -193,14 +189,14 @@ public class RecomendacaoController { boolean ok = false; switch (tipo) { - case MODO_ADD_RECOMENDACAO: + case ParametroAvaliacaoController.MODO_ADD: ultimoParametroAvaliacao.addRecomendacao(recomendacao); ok=true; break; - case MODO_EDIT_RECOMENDACAO: + case ParametroAvaliacaoController.MODO_EDIT: for(Recomendacao r: ultimoParametroAvaliacao.getRecomendacoes()){ - if(r.getId().equals(recomendacao.getId())){ + if(r.getId().longValue() == recomendacao.getId().longValue()){ r.setParametroAvaliacao(recomendacao.getParametroAvaliacao()); r.setNumeroRecomendacao(recomendacao.getNumeroRecomendacao()); @@ -216,10 +212,10 @@ public class RecomendacaoController { break; - case MODO_DELETE_RECOMENDACAO: + case ParametroAvaliacaoController.MODO_DELETE: for(Recomendacao r: ultimoParametroAvaliacao.getRecomendacoes()){ - if(r.getId().equals(recomendacao.getId())){ - ultimoParametroAvaliacao.remove(recomendacao); + if(r.getId().longValue() == recomendacao.getId().longValue()){ + ultimoParametroAvaliacao.removeRecomendacao(recomendacao); ok=true; break; } @@ -233,8 +229,8 @@ public class RecomendacaoController { } /** - * Recebe uma recomendação antes de ser cadastrada e verifica se ja existe uma - * recomendação ativa com o mesmo numero. + * Recebe uma recomendaçã£o antes de ser cadastrada e verifica se ja existe uma + * recomendação ativa com o mesmo numero. * * @param recomendacao * @return boolean diff --git a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Criterio.java b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Criterio.java index 609180f..22aaaa1 100644 --- a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Criterio.java +++ b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Criterio.java @@ -118,6 +118,10 @@ public class Criterio { this.faixas.add(faixa); } + public void removeFaixa(Faixa faixa){ + this.faixas.remove(faixa); + } + public double getResultadoTeste(CriterioAvaliado criterioAvaliado){ double percentualErros = criterioAvaliado.getPercentualErros(); double resultado = 0.0; diff --git a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/ParametroAvaliacao.java b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/ParametroAvaliacao.java index 2596810..dafb086 100644 --- a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/ParametroAvaliacao.java +++ b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/ParametroAvaliacao.java @@ -66,7 +66,7 @@ public class ParametroAvaliacao { this.recomendacoes.add(recomendacao); } - public void remove(Recomendacao recomendacao){ + public void removeRecomendacao(Recomendacao recomendacao){ this.recomendacoes.remove(recomendacao); } diff --git a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Recomendacao.java b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Recomendacao.java index a2daad6..8ecf4ab 100644 --- a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Recomendacao.java +++ b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Recomendacao.java @@ -60,6 +60,10 @@ public class Recomendacao { this.criterios.add(criterio); } + public void removeCriterio(Criterio criterio){ + this.criterios.remove(criterio); + } + @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "id_tipo_recomendacao", columnDefinition = "integer", nullable = false, insertable = true, updatable = true) @ForeignKey(name = "fk_sel_diretriz_sel_tipo_diretriz") -- libgit2 0.21.2