Commit cb346337951a88d8d04b2b589f47eeb1f17dc26e
1 parent
6a16ae8e
Exists in
master
Ajustes no parametro de calculo
git-svn-id: https://svn.bento.ifrs.edu.br/default/ASES/e-selo@9850 c2178572-b5ca-4887-91d2-9e3a90c7d55b
Showing
10 changed files
with
180 additions
and
96 deletions
Show diff stats
Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/jsp/parametroCalculo/form.jsp
... | ... | @@ -89,7 +89,7 @@ |
89 | 89 | <div class="btn-group"> |
90 | 90 | <a href="<c:url value="/recomendacao/form/${recomendacao.id}" />" class="btn btn-default btn-sm">Consultar</a> |
91 | 91 | <c:if test="${parametroCalculo.tsFim == null}"> |
92 | - <a href="<c:url value="/recomendacao/delete/${recomendacao.id}" />" class="btn btn-default btn-sm btn-confirm" data-msg="Um novo Parâmetro de Cálculo será criado a partir do atual. Deseja realmente excluir a recomendação selecionada?">Excluir</a> | |
92 | + <a href="<c:url value="/recomendacao/delete/${recomendacao.id}" />" class="btn btn-default btn-sm btn-confirm" data-msg="Um novo Parâmetro de Cálculo poderá ser criado a partir do atual. Deseja realmente excluir a recomendação selecionada?">Excluir</a> | |
93 | 93 | </c:if> |
94 | 94 | </div> |
95 | 95 | </td> | ... | ... |
Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/jsp/parametroCalculo/lista.jsp
... | ... | @@ -69,7 +69,7 @@ |
69 | 69 | <div class="btn-group"> |
70 | 70 | <a href="<c:url value="/parametrosCalculo/atualizar/${parametroCalculo.id}" />" class="btn btn-default btn-sm">Consultar</a> |
71 | 71 | <c:if test="${parametroCalculo.tsFim == null}"> |
72 | - <a href="<c:url value="/parametrosCalculo/delete/${parametroCalculo.id}" />" class="btn btn-default btn-sm btn-confirm" data-msg="Deseja realmente excluir o Parametro de Avaliação selecionado?">Excluir</a> | |
72 | + <a href="<c:url value="/parametrosCalculo/delete/${parametroCalculo.id}" />" class="btn btn-default btn-sm btn-confirm" data-msg="Deseja realmente excluir o Parametro de Cálculo selecionado?">Excluir</a> | |
73 | 73 | <a href="<c:url value="/parametrosCalculo/exportar/${parametroCalculo.id}/${parametroCalculo.slug}.ods" />" class="btn btn-default btn-sm">Exportar</a> |
74 | 74 | </c:if> |
75 | 75 | </div> | ... | ... |
Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/jsp/recomendacao/form.jsp
... | ... | @@ -83,9 +83,9 @@ |
83 | 83 | <td>${criterio.tipoTeste.tipo}</td> |
84 | 84 | <td> |
85 | 85 | <div class="btn-group"> |
86 | - <a href="<c:url value="/criterios/form/${criterio.id}" />" class="btn btn-default btn-sm">Consultar</a> | |
86 | + <a href="<c:url value="/criterio/form/${criterio.id}" />" class="btn btn-default btn-sm">Consultar</a> | |
87 | 87 | <c:if test="${parametroCalculo.tsFim == null}"> |
88 | - <a href="<c:url value="/criterios/delete/${criterio.id}" />" class="btn btn-default btn-sm btn-confirm" data-msg="Deseja realmente excluir o critério selecionado?">Excluir</a> | |
88 | + <a href="<c:url value="/criterio/delete/${criterio.id}" />" class="btn btn-default btn-sm btn-confirm" data-msg="Deseja realmente excluir o critério selecionado?">Excluir</a> | |
89 | 89 | </c:if> |
90 | 90 | </div> |
91 | 91 | </td> | ... | ... |
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/component/CopiadorParametroCalculo.java
... | ... | @@ -64,21 +64,15 @@ public class CopiadorParametroCalculo { |
64 | 64 | |
65 | 65 | novaRecomendacao.addCriterio(novoCriterio); |
66 | 66 | } |
67 | - | |
67 | + System.out.println("Recomendacao "+novaRecomendacao.getNumeroRecomendacao()); | |
68 | 68 | novoParametroAvaliacao.addRecomendacao(novaRecomendacao); |
69 | 69 | } |
70 | 70 | |
71 | 71 | // Salva novo e atualiza o ultimo |
72 | - ultimoParametroAvaliacao = parametroCalculoDAO.load(ultimoParametroAvaliacao.getId()); | |
73 | - ultimoParametroAvaliacao.setTsFim(novoParametroAvaliacao.getTsInicio()); | |
74 | - //parametroCalculoDAO.update(ultimoParametroAvaliacao); | |
75 | - | |
76 | - /* | |
77 | 72 | ultimoParametroAvaliacao = parametroCalculoDAO.getLastParametrosCalculo(); |
78 | 73 | ultimoParametroAvaliacao.setTsFim(novoParametroAvaliacao.getTsInicio()); |
79 | 74 | parametroCalculoDAO.update(ultimoParametroAvaliacao); |
80 | - */ | |
81 | - | |
75 | + | |
82 | 76 | parametroCalculoDAO.save(novoParametroAvaliacao); |
83 | 77 | } |
84 | 78 | ... | ... |
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/component/messages.properties
1 | -faixas.mensagem.salva=Conformidade salva com sucesso. | |
2 | -faixas.mensagem.alterada=Conformidade alterada com sucesso. | |
1 | +criterio.salvo=Critério salvo com sucesso. | |
2 | +criterio.excluído=Critéiro excluído com sucesso. | |
3 | +criterio.atualizado=Critério atualizado com sucesso. | |
4 | +criterio.validacao.numero=É obrigatório informar o número do critério. | |
5 | +criterio.validacao.numero.unique=Já existe um critério com esse número. Informe outro número para o critério. | |
6 | +criterio.validacao.descricao=É obrigatório informar a descrição do criteiro. | |
7 | +criterio.validacao.tipo_teste=É obrigatório informar o Tipo de teste. | |
8 | +faixas.mensagem.salva=Faixa de conformidade salva com sucesso. | |
9 | +faixas.mensagem.alterada=Faixa de conformidade alterada com sucesso. | |
3 | 10 | faixas.validacao.diretriz=A Diretriz é obrigatória. |
4 | 11 | faixas.validacao.descricao=A descrição é obrigatória. |
5 | 12 | faixas.validacao.faixa=O número da Faixa é obrigatório. |
... | ... | @@ -9,6 +16,18 @@ faixas.validacao.faixa_inicial=A Faixa Inicial é obrigatória. |
9 | 16 | faixas.validacao.tipo_conformidade=O Tipo de Conformidade é obrigatório. |
10 | 17 | faixas.validacao.range_faixas=A Faixa Inicial deve ser menor que a Faixa Inicial. |
11 | 18 | parametro_calculo.validacao.descricao=A descrição é obrigatória. |
19 | +parametro_calculo.validacao.excluido=Parametro de Cálculo excluído com sucesso. | |
20 | +parametro_calculo.validacao.nao_pode_excluir=Parametro de Cálculo não pode ser excluído pois não está ativo. | |
21 | +parametro_calculo.validacao.nao_pode_excluir.unico=Este é o único Parametro de Cálculo cadastrado e ele não pode ser excluído. | |
22 | +parametro_calculo.validacao.nao_pode_excluir.em_uso=Este Parametro de Cálculo tem avaliações associadas e não pode ser excluído. | |
23 | +parametro_calculo.criado=Parâmetro de Cálculo criado com base no parâmetro | |
24 | +parametro_calculo.criado.limpo=Novo parâmetro criado [sem recomendações ou critérios associados]! | |
25 | +parametro_calculo.atualizado=Parâmetro de Cálculo alterado com sucesso. | |
26 | +recomendacao.validacao.numero=É obrigatório informar o numero da Recomendação. | |
27 | +recomendacao.validacao.numero.unique=Já existe uma recomendação com esse número. | |
28 | +recomendacao.exclusao=Recomendação excluída com sucesso! | |
29 | +recomendacao.salva=Recomendação salva com sucesso! | |
30 | +recomendacao.atualizada=Recomendação atualizada com sucesso! | |
12 | 31 | tipo_conformidade.mensagem.salva=Tipo de Diretriz salvo com sucesso. |
13 | 32 | tipo_conformidade.mensagem.alterada=Tipo de Diretriz alterado com sucesso. |
14 | 33 | tipo_conformidade.validacao.descricao=É necessário informar o a descrição do Tipo de Diretriz. |
... | ... | @@ -25,4 +44,9 @@ tipo_recomendacao.validacao.descricao.unique=Já existe uma descrição com este no |
25 | 44 | tipo_recomendacao.validacao.maximo=É necessário informar o valor máximo do Tipo de Teste. |
26 | 45 | tipo_recomendacao.validacao.maximo.min=É necessário informar o valor máximo do Tipo de Teste. |
27 | 46 | tipo_recomendacao.validacao.edit=O Tipo de Teste não pode ser alterado, pois ele está sendo utilizado. |
28 | -tipo_recomendacao.validacao.remove=O Tipo de Teste não pode ser excluído, pois ele está sendo utilizado. | |
29 | 47 | \ No newline at end of file |
48 | +tipo_recomendacao.validacao.remove=O Tipo de Teste não pode ser excluído, pois ele está sendo utilizado. | |
49 | +validacao.peso=É obrigatório informar o peso. | |
50 | +validacao.peso.zero=O peso deve ser maior que zero. | |
51 | +validacao.descricao=É obrigatório informar a descrição. | |
52 | +validacao.sem_alteracao=Nenhum campo foi alterado. | |
53 | +validacao.acao_cancelada=Ação cancelada! | |
30 | 54 | \ No newline at end of file | ... | ... |
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/CriteriosController.java
... | ... | @@ -12,7 +12,9 @@ import br.com.caelum.vraptor.Validator; |
12 | 12 | import br.com.caelum.vraptor.validator.ValidationMessage; |
13 | 13 | import br.com.eselo.annotations.Restrito; |
14 | 14 | import br.com.eselo.component.CopiadorParametroCalculo; |
15 | +import br.com.eselo.component.Messages; | |
15 | 16 | import br.com.eselo.component.UsuarioWeb; |
17 | +import br.com.eselo.dao.AvaliacaoDAO; | |
16 | 18 | import br.com.eselo.dao.CriterioDAO; |
17 | 19 | import br.com.eselo.dao.ParametroCalculoDAO; |
18 | 20 | import br.com.eselo.dao.RecomendacaoDAO; |
... | ... | @@ -60,7 +62,7 @@ public class CriteriosController { |
60 | 62 | return criterio; |
61 | 63 | } |
62 | 64 | |
63 | - @Get("/criterios/form/{id}") | |
65 | + @Get("/criterio/form/{id}") | |
64 | 66 | @Restrito(descricao = "CRITERIO_ATUALIZAR") |
65 | 67 | public Criterio form(Long id) { |
66 | 68 | Criterio criterio = dao.load(id); |
... | ... | @@ -91,19 +93,24 @@ public class CriteriosController { |
91 | 93 | validator.onErrorUsePageOf(CriteriosController.class).novo( |
92 | 94 | criterio.getRecomendacao().getId()); |
93 | 95 | |
94 | - this.criarNovoParametroAvaliacao(criterio, | |
95 | - ParametroCalculoController.MODO_ADD); | |
96 | - | |
97 | - result.include("mensagem", "Critério salvo com sucesso."); | |
98 | - result.redirectTo(RecomendacaoController.class).form( | |
99 | - criterio.getRecomendacao().getId()); | |
96 | + | |
97 | + ParametroCalculo pc = paDAO.load(criterio.getRecomendacao().getParametroCalculo().getId()); | |
98 | + if(!(new AvaliacaoDAO(dao.getSession()).existeAvaliacao(pc))){ | |
99 | + | |
100 | + dao.save(criterio); | |
101 | + result.include("mensagem", Messages.getString("criterio.salvo")); | |
102 | + }else{ | |
103 | + this.criarNovoParametroAvaliacao(criterio,ParametroCalculoController.MODO_ADD); | |
104 | + result.include("mensagem", Messages.getString("criterio.salvo")); | |
105 | + } | |
106 | + | |
107 | + result.redirectTo(RecomendacaoController.class).form(criterio.getRecomendacao().getId()); | |
100 | 108 | } |
101 | 109 | |
102 | 110 | @Put("/criterio") |
103 | 111 | @Restrito(descricao = "CRITERIO_ATUALIZAR") |
104 | 112 | public void atualizar(Criterio criterio) { |
105 | - criterio.setRecomendacao(new RecomendacaoDAO(dao.getSession()) | |
106 | - .load(criterio.getRecomendacao().getId())); | |
113 | + //criterio.setRecomendacao(new RecomendacaoDAO(dao.getSession()).load(criterio.getRecomendacao().getId())); | |
107 | 114 | |
108 | 115 | @SuppressWarnings("unchecked") |
109 | 116 | List<TipoTeste> tipoTestes = (List<TipoTeste>) dao.getAllTipoTeste(); |
... | ... | @@ -123,12 +130,22 @@ public class CriteriosController { |
123 | 130 | |
124 | 131 | if(validarAtualizacaoCriterio(criterio)){ |
125 | 132 | |
126 | - criarNovoParametroAvaliacao(criterio,ParametroCalculoController.MODO_EDIT); | |
127 | - result.include("mensagem", "Critério salvo com sucesso."); | |
133 | + ParametroCalculo pc = paDAO.load(criterioCadastrado.getRecomendacao().getParametroCalculo().getId()); | |
134 | + if(!(new AvaliacaoDAO(dao.getSession()).existeAvaliacao(pc))){ | |
135 | + criterioCadastrado.setNumeroCriterio(criterio.getNumeroCriterio()); | |
136 | + criterioCadastrado.setDescricao(criterio.getDescricao()); | |
137 | + criterioCadastrado.setPeso(criterio.getPeso()); | |
138 | + | |
139 | + dao.update(criterioCadastrado); | |
140 | + result.include("mensagem", Messages.getString("criterio.atualizado")); | |
141 | + }else{ | |
142 | + criarNovoParametroAvaliacao(criterio,ParametroCalculoController.MODO_EDIT); | |
143 | + result.include("mensagem", Messages.getString("criterio.salvo")); | |
144 | + } | |
128 | 145 | }else{ |
129 | 146 | criterioCadastrado.setDescricao(criterio.getDescricao()); |
130 | 147 | dao.update(criterioCadastrado); |
131 | - result.include("mensagem", "Nenhum campo foi alterado."); | |
148 | + result.include("mensagem", Messages.getString("validacao.sem_alteracao")); | |
132 | 149 | } |
133 | 150 | |
134 | 151 | result.redirectTo(CriteriosController.class).form( |
... | ... | @@ -139,12 +156,20 @@ public class CriteriosController { |
139 | 156 | @Restrito(descricao = "CRITERIO_EXCLUIR") |
140 | 157 | public void excluir(Long id) { |
141 | 158 | Criterio criteiro = dao.load(id); |
142 | - | |
159 | + long idRecomendacao = criteiro.getRecomendacao().getId(); | |
160 | + ParametroCalculo pc = paDAO.load(criteiro.getRecomendacao().getParametroCalculo().getId()); | |
161 | + | |
162 | + result.include("mensagem", Messages.getString("criterio.excluído")); | |
163 | + | |
164 | + if(!(new AvaliacaoDAO(dao.getSession()).existeAvaliacao(pc))){ | |
165 | + dao.remove(criteiro.getId()); | |
166 | + result.redirectTo("/recomendacao/form/"+idRecomendacao); | |
167 | + }else{ | |
143 | 168 | criarNovoParametroAvaliacao(criteiro, |
144 | - ParametroCalculoController.MODO_DELETE); | |
145 | - | |
146 | - result.include("mensagem", "Criteiro excluída com sucesso."); | |
147 | - result.redirectTo(ParametroCalculoController.class).index(1); | |
169 | + ParametroCalculoController.MODO_DELETE); | |
170 | + result.redirectTo(ParametroCalculoController.class).index(1); | |
171 | + } | |
172 | + | |
148 | 173 | } |
149 | 174 | |
150 | 175 | private void criarNovoParametroAvaliacao(Criterio criterio, int tipo) { |
... | ... | @@ -213,28 +238,28 @@ public class CriteriosController { |
213 | 238 | |
214 | 239 | if (criterio.getNumeroCriterio() == null) { |
215 | 240 | validator.add(new ValidationMessage( |
216 | - "É obrigatório informar o número da recomendação.", | |
241 | + Messages.getString("criterio.validacao.numero"), | |
217 | 242 | "criteiro.numeroCriterio")); |
218 | 243 | } else if (hasNumeroCriterioRecomendacaoAtual(criterio)) { |
219 | 244 | validator.add(new ValidationMessage( |
220 | - "Já existe um critério com esse número. Informe outro número para o critério.", | |
245 | + Messages.getString("criterio.validacao.numero.unique"), | |
221 | 246 | "criteiro.numeroCriteiro")); |
222 | 247 | } else if (criterio.getPeso() == null) { |
223 | 248 | validator.add(new ValidationMessage( |
224 | - "É obrigatório informar o peso do criteiro.", | |
249 | + Messages.getString("validacao.peso"), | |
225 | 250 | "criteiro.peso")); |
226 | 251 | } else if (criterio.getPeso() <= 0) { |
227 | 252 | validator |
228 | 253 | .add(new ValidationMessage( |
229 | - "O peso do criteiro deve ser maior que 0.", | |
254 | + Messages.getString("validacao.peso.zero"), | |
230 | 255 | "criteiro.peso")); |
231 | 256 | } else if (criterio.getDescricao() == null) { |
232 | 257 | validator.add(new ValidationMessage( |
233 | - "É obrigatório informar a descrição do criteiro.", | |
258 | + Messages.getString("criterio.validacao.descricao"), | |
234 | 259 | "criteiro.descricao")); |
235 | 260 | } else if (criterio.getTipoTeste().getId() == null) { |
236 | 261 | validator.add(new ValidationMessage( |
237 | - "É obrigatório informar o Tipo de teste.", | |
262 | + Messages.getString("criterio.validacao.tipo_teste"), | |
238 | 263 | "criterio.tipoTeste")); |
239 | 264 | } else { |
240 | 265 | criterio.setTipoTeste(new TipoTesteDAO(dao.getSession()) | ... | ... |
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/FaixaController.java
... | ... | @@ -15,6 +15,7 @@ import br.com.eselo.annotations.Restrito; |
15 | 15 | import br.com.eselo.component.CopiadorParametroCalculo; |
16 | 16 | import br.com.eselo.component.Messages; |
17 | 17 | import br.com.eselo.component.UsuarioWeb; |
18 | +import br.com.eselo.dao.AvaliacaoDAO; | |
18 | 19 | import br.com.eselo.dao.CriterioDAO; |
19 | 20 | import br.com.eselo.dao.FaixaDAO; |
20 | 21 | import br.com.eselo.dao.ParametroCalculoDAO; |
... | ... | @@ -139,11 +140,19 @@ public class FaixaController { |
139 | 140 | validator.onErrorUsePageOf(FaixaController.class).add( |
140 | 141 | faixa.getCriterio().getId()); |
141 | 142 | } |
142 | - | |
143 | - | |
144 | - criarNovoParametroAvaliacao(faixas, ParametroCalculoController.MODO_ADD); | |
145 | - | |
146 | - result.include("mensagem", Messages.getString("faixas.mensagem.salva")); | |
143 | + | |
144 | + ParametroCalculo pc = paDAO.load(criterio.getRecomendacao().getParametroCalculo().getId()); | |
145 | + if(!(new AvaliacaoDAO(dao.getSession()).existeAvaliacao(pc))){ | |
146 | + | |
147 | + for (Faixa faixa : faixas) { | |
148 | + dao.save(faixa); | |
149 | + } | |
150 | + result.include("mensagem", Messages.getString("faixas.mensagem.salva")); | |
151 | + }else{ | |
152 | + this.criarNovoParametroAvaliacao(faixas,ParametroCalculoController.MODO_ADD); | |
153 | + result.include("mensagem", Messages.getString("faixas.mensagem.salva")); | |
154 | + } | |
155 | + | |
147 | 156 | result.redirectTo(CriteriosController.class).form(criterio.getId()); |
148 | 157 | } |
149 | 158 | |
... | ... | @@ -174,12 +183,19 @@ public class FaixaController { |
174 | 183 | List<Faixa> faixas = new ArrayList<Faixa>(); |
175 | 184 | faixas.add(faixaCadastrada); |
176 | 185 | |
177 | - criarNovoParametroAvaliacao(faixas, ParametroCalculoController.MODO_EDIT); | |
178 | - result.include("mensagem", Messages.getString("faixas.mensagem.alterada")); | |
186 | + | |
187 | + ParametroCalculo pc = paDAO.load(criterio.getRecomendacao().getParametroCalculo().getId()); | |
188 | + if(!(new AvaliacaoDAO(dao.getSession()).existeAvaliacao(pc))){ | |
189 | + dao.update(faixaCadastrada); | |
190 | + result.include("mensagem", Messages.getString("faixas.mensagem.alterada")); | |
191 | + }else{ | |
192 | + criarNovoParametroAvaliacao(faixas, ParametroCalculoController.MODO_EDIT); | |
193 | + result.include("mensagem", Messages.getString("faixas.mensagem.alterada")); | |
194 | + } | |
179 | 195 | }else{ |
180 | 196 | faixaCadastrada.setDescricao(faixa.getDescricao()); |
181 | 197 | dao.update(faixaCadastrada); |
182 | - result.include("mensagem", "Nenhum campo foi alterado."); | |
198 | + result.include("mensagem", Messages.getString("validacao.sem_alteracao")); | |
183 | 199 | } |
184 | 200 | |
185 | 201 | result.redirectTo(FaixaController.class).form(faixa.getId()); } | ... | ... |
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/ParametroCalculoController.java
... | ... | @@ -33,6 +33,7 @@ import br.com.eselo.annotations.Restrito; |
33 | 33 | import br.com.eselo.component.CopiadorParametroCalculo; |
34 | 34 | import br.com.eselo.component.Messages; |
35 | 35 | import br.com.eselo.component.UsuarioWeb; |
36 | +import br.com.eselo.dao.AvaliacaoDAO; | |
36 | 37 | import br.com.eselo.dao.ParametroCalculoDAO; |
37 | 38 | import br.com.eselo.dao.RecomendacaoDAO; |
38 | 39 | import br.com.eselo.dao.UsuarioDAO; |
... | ... | @@ -86,19 +87,19 @@ public class ParametroCalculoController { |
86 | 87 | if(acao.equals("Importar")){ |
87 | 88 | ParametroCalculo pc = dao.load(idParametroCalculo); |
88 | 89 | this.criarNovoParametroCalculo(pc, MODO_IMPORT); |
89 | - mensagem = "Parâmetro de Cálculo criado com base no parametro " | |
90 | - + pc.getDescricao() + " com sucesso."; | |
90 | + mensagem = Messages.getString("parametro_calculo.criado") | |
91 | + + pc.getDescricao() + "."; | |
91 | 92 | |
92 | 93 | result.redirectTo(ParametroCalculoController.class).form(dao.getMaxId()); |
93 | 94 | |
94 | 95 | }else if(acao.equals("Não Importar")){ |
95 | 96 | criarNovoParametroCalculo(new ParametroCalculo(), MODO_ADD); |
96 | - mensagem = "Novo parâmetro criado [sem recomendações ou critérios associados]!"; | |
97 | + mensagem = Messages.getString("parametro_calculo.criado.limpo"); | |
97 | 98 | |
98 | 99 | result.redirectTo(ParametroCalculoController.class).form(dao.getMaxId()); |
99 | 100 | |
100 | 101 | }else if(acao.equals("Cancelar")){ |
101 | - mensagem = "Ação cancelada!"; | |
102 | + mensagem = Messages.getString("validacao.acao_cancelada"); | |
102 | 103 | result.redirectTo(ParametroCalculoController.class).lista(); |
103 | 104 | } |
104 | 105 | |
... | ... | @@ -185,7 +186,7 @@ public class ParametroCalculoController { |
185 | 186 | |
186 | 187 | dao.saveOrUpdate(parametroCalculoCadastrado); |
187 | 188 | |
188 | - result.include("mensagem", "Parâmetro de Cálculo alterado com sucesso."); | |
189 | + result.include("mensagem", Messages.getString("parametro_calculo.atualizado")); | |
189 | 190 | result.redirectTo(ParametroCalculoController.class).index(1); |
190 | 191 | } |
191 | 192 | |
... | ... | @@ -193,22 +194,30 @@ public class ParametroCalculoController { |
193 | 194 | @Restrito(descricao = "PARAMETRO_CALCULO_EXCLUIR") |
194 | 195 | public void excluir(Long id) { |
195 | 196 | if (dao.listAll().size() > 1) { |
196 | - ParametroCalculo pa = dao.load(id); | |
197 | - if ((pa.getTsFim() == null)) { | |
198 | - dao.remove(id); | |
197 | + ParametroCalculo pc = dao.load(id); | |
198 | + | |
199 | + if(!(new AvaliacaoDAO(dao.getSession()).existeAvaliacao(pc))){ | |
200 | + if ((pc.getTsFim() == null)) { | |
201 | + dao.remove(id); | |
202 | + | |
203 | + pc = dao.getLastParametrosCalculo(); | |
204 | + pc.setTsFim(null); | |
205 | + dao.update(pc); | |
206 | + result.include("mensagem", | |
207 | + Messages.getString("parametro_calculo.validacao.excluido")); | |
208 | + } else { | |
209 | + result.include("mensagem", | |
210 | + Messages.getString("parametro_calculo.validacao.nao_pode_excluir")); | |
211 | + } | |
212 | + }else{ | |
199 | 213 | |
200 | - pa = dao.getLastParametrosCalculo(); | |
201 | - pa.setTsFim(null); | |
202 | - dao.update(pa); | |
203 | 214 | result.include("mensagem", |
204 | - "Parametro de Cálculo excluído com sucesso."); | |
205 | - } else { | |
206 | - result.include("mensagem", | |
207 | - "Parametro de Cálculo não pode ser excluído pois não está ativo."); | |
215 | + Messages.getString("parametro_calculo.validacao.nao_pode_excluir.em_uso")); | |
208 | 216 | } |
217 | + | |
209 | 218 | } else { |
210 | 219 | result.include("mensagem", |
211 | - "Este é o único Parametro de Cálculo cadastrado e ele não pode ser excluído."); | |
220 | + Messages.getString("parametro_calculo.validacao.nao_pode_excluir.unico")); | |
212 | 221 | } |
213 | 222 | |
214 | 223 | result.redirectTo(ParametroCalculoController.class).lista(); | ... | ... |
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/RecomendacaoController.java
... | ... | @@ -12,7 +12,9 @@ import br.com.caelum.vraptor.Validator; |
12 | 12 | import br.com.caelum.vraptor.validator.ValidationMessage; |
13 | 13 | import br.com.eselo.annotations.Restrito; |
14 | 14 | import br.com.eselo.component.CopiadorParametroCalculo; |
15 | +import br.com.eselo.component.Messages; | |
15 | 16 | import br.com.eselo.component.UsuarioWeb; |
17 | +import br.com.eselo.dao.AvaliacaoDAO; | |
16 | 18 | import br.com.eselo.dao.ParametroCalculoDAO; |
17 | 19 | import br.com.eselo.dao.RecomendacaoDAO; |
18 | 20 | import br.com.eselo.model.ParametroCalculo; |
... | ... | @@ -71,11 +73,18 @@ public class RecomendacaoController { |
71 | 73 | validator.onErrorUsePageOf(RecomendacaoController.class).form( |
72 | 74 | recomendacao.getParametroCalculo().getId()); |
73 | 75 | |
74 | - this.criarNovoParametroAvaliacao(recomendacao, | |
75 | - ParametroCalculoController.MODO_ADD); | |
76 | - | |
77 | - result.include("mensagem", "Recomenda��o salva com sucesso."); | |
78 | - result.redirectTo(ParametroCalculoController.class).index(1); | |
76 | + ParametroCalculo pc = paDAO.load(recomendacao.getParametroCalculo().getId()); | |
77 | + if(!(new AvaliacaoDAO(dao.getSession()).existeAvaliacao(pc))){ | |
78 | + | |
79 | + dao.save(recomendacao); | |
80 | + result.include("mensagem", Messages.getString("recomendacao.salva")); | |
81 | + result.redirectTo(ParametroCalculoController.class).atualizar(pc); | |
82 | + }else{ | |
83 | + criarNovoParametroAvaliacao(recomendacao,ParametroCalculoController.MODO_ADD); | |
84 | + result.include("mensagem", Messages.getString("recomendacao.salva")); | |
85 | + result.redirectTo(ParametroCalculoController.class).index(1); | |
86 | + } | |
87 | + | |
79 | 88 | } |
80 | 89 | |
81 | 90 | @Put("/recomendacao") |
... | ... | @@ -89,12 +98,22 @@ public class RecomendacaoController { |
89 | 98 | recomendacaoCadastrada.getId()); |
90 | 99 | |
91 | 100 | if(validarAtualizacaoRecomendacao(recomendacao)){ |
92 | - criarNovoParametroAvaliacao(recomendacao,ParametroCalculoController.MODO_EDIT); | |
93 | - result.include("mensagem", "Recomendação salva com sucesso."); | |
101 | + ParametroCalculo pc = paDAO.load(recomendacaoCadastrada.getParametroCalculo().getId()); | |
102 | + if(!(new AvaliacaoDAO(dao.getSession()).existeAvaliacao(pc))){ | |
103 | + recomendacaoCadastrada.setNumeroRecomendacao(recomendacao.getNumeroRecomendacao()); | |
104 | + recomendacaoCadastrada.setDescricao(recomendacao.getDescricao()); | |
105 | + recomendacaoCadastrada.setPeso(recomendacao.getPeso()); | |
106 | + | |
107 | + dao.update(recomendacaoCadastrada); | |
108 | + result.include("mensagem", Messages.getString("recomendacao.atualizada")); | |
109 | + }else{ | |
110 | + criarNovoParametroAvaliacao(recomendacao,ParametroCalculoController.MODO_EDIT); | |
111 | + result.include("mensagem", Messages.getString("recomendacao.salva")); | |
112 | + } | |
94 | 113 | }else{ |
95 | 114 | recomendacaoCadastrada.setDescricao(recomendacao.getDescricao()); |
96 | 115 | dao.update(recomendacaoCadastrada); |
97 | - result.include("mensagem", "Nenhum campo foi alterado."); | |
116 | + result.include("mensagem", Messages.getString("validacao.sem_alteracao")); | |
98 | 117 | } |
99 | 118 | |
100 | 119 | result.redirectTo(RecomendacaoController.class).form(recomendacao.getId()); |
... | ... | @@ -104,12 +123,18 @@ public class RecomendacaoController { |
104 | 123 | @Restrito(descricao = "RECOMENDACAO_EXCLUIR") |
105 | 124 | public void excluir(Long id) { |
106 | 125 | Recomendacao recomendacao = dao.load(id); |
107 | - | |
126 | + | |
127 | + result.include("mensagem", Messages.getString("recomendacao.exclusao")); | |
128 | + ParametroCalculo pc = paDAO.load(recomendacao.getParametroCalculo().getId()); | |
129 | + if(!(new AvaliacaoDAO(dao.getSession()).existeAvaliacao(pc))){ | |
130 | + dao.remove(recomendacao.getId()); | |
131 | + result.redirectTo("/parametrosCalculo/atualizar/"+pc.getId()); | |
132 | + }else{ | |
108 | 133 | criarNovoParametroAvaliacao(recomendacao, |
109 | - ParametroCalculoController.MODO_DELETE); | |
110 | - | |
111 | - result.include("mensagem", "Recomenda��o exclu�da com sucesso."); | |
112 | - result.redirectTo(ParametroCalculoController.class).index(1); | |
134 | + ParametroCalculoController.MODO_DELETE); | |
135 | + result.redirectTo(ParametroCalculoController.class).index(1); | |
136 | + } | |
137 | + | |
113 | 138 | } |
114 | 139 | |
115 | 140 | private void criarNovoParametroAvaliacao(Recomendacao recomendacao, int tipo) { |
... | ... | @@ -123,16 +148,13 @@ public class RecomendacaoController { |
123 | 148 | break; |
124 | 149 | |
125 | 150 | case ParametroCalculoController.MODO_EDIT: |
151 | + ultimoParametroAvaliacao = new CopiadorParametroCalculo().copiarParametroCalculo(paDAO.getLastParametrosCalculo()); | |
126 | 152 | for (Recomendacao r : ultimoParametroAvaliacao.getRecomendacoes()) { |
127 | 153 | if (r.getNumeroRecomendacao().longValue() == recomendacao.getNumeroRecomendacao().longValue()) { |
128 | 154 | |
129 | - r.setParametroCalculo(recomendacao.getParametroCalculo()); | |
130 | - r.setNumeroRecomendacao(recomendacao | |
131 | - .getNumeroRecomendacao()); | |
155 | + r.setNumeroRecomendacao(recomendacao.getNumeroRecomendacao()); | |
132 | 156 | r.setDescricao(recomendacao.getDescricao()); |
133 | 157 | r.setPeso(recomendacao.getPeso()); |
134 | - r.setCriterios(recomendacao.getCriterios()); | |
135 | - r.setId(recomendacao.getId()); | |
136 | 158 | ok = true; |
137 | 159 | break; |
138 | 160 | } |
... | ... | @@ -141,8 +163,9 @@ public class RecomendacaoController { |
141 | 163 | break; |
142 | 164 | |
143 | 165 | case ParametroCalculoController.MODO_DELETE: |
166 | + ultimoParametroAvaliacao = paDAO.getLastParametrosCalculo(); | |
144 | 167 | for (Recomendacao r : ultimoParametroAvaliacao.getRecomendacoes()) { |
145 | - if (r.getId().longValue() == recomendacao.getId().longValue()) { | |
168 | + if (r.getNumeroRecomendacao().longValue() == recomendacao.getNumeroRecomendacao().longValue()) { | |
146 | 169 | ultimoParametroAvaliacao.removeRecomendacao(recomendacao); |
147 | 170 | ok = true; |
148 | 171 | break; |
... | ... | @@ -160,25 +183,24 @@ public class RecomendacaoController { |
160 | 183 | private void validarRecomendacao(Recomendacao recomendacao) { |
161 | 184 | |
162 | 185 | if (recomendacao.getNumeroRecomendacao() == null) { |
163 | - validator.add(new ValidationMessage( | |
164 | - "� obrigat�rio informar o n�mero da recomenda��o.", | |
186 | + validator.add(new ValidationMessage(Messages.getString("recomendacao.validacao.numero"), | |
165 | 187 | "recomendacao.numeroRecomendacao")); |
166 | 188 | } else if (hasNumeroRecomendacaoNoParametroAtual(recomendacao)) { |
167 | 189 | validator |
168 | 190 | .add(new ValidationMessage( |
169 | - "J� existe uma recomenda��o ativa com esse numero. Recomenda��o n�o atualizada.", | |
191 | + Messages.getString("recomendacao.validacao.numero.unique"), | |
170 | 192 | "recomendacao.numeroRecomendacao")); |
171 | 193 | } else if (recomendacao.getDescricao() == null) { |
172 | 194 | validator.add(new ValidationMessage( |
173 | - "� obrigat�rio informar a descri��o da recomenda��o.", | |
195 | + Messages.getString("validacao.descricao"), | |
174 | 196 | "recomendacao.descricao")); |
175 | 197 | } else if (recomendacao.getPeso() == null) { |
176 | 198 | validator.add(new ValidationMessage( |
177 | - "� obrigat�rio informar o peso da recomenda��o.", | |
199 | + Messages.getString("validacao.peso"), | |
178 | 200 | "recomendacao.peso")); |
179 | 201 | } else if (recomendacao.getPeso() <= 0) { |
180 | 202 | validator.add(new ValidationMessage( |
181 | - "O peso da recomenda��o deve ser maior que zero.", | |
203 | + Messages.getString("validacao.peso.zero"), | |
182 | 204 | "recomendacao.peso")); |
183 | 205 | } |
184 | 206 | |
... | ... | @@ -204,13 +226,7 @@ public class RecomendacaoController { |
204 | 226 | |
205 | 227 | return alteracao; |
206 | 228 | } |
207 | - /** | |
208 | - * Recebe uma recomenda��o antes de ser cadastrada e verifica se ja existe | |
209 | - * uma recomenda��o ativa com o mesmo numero. | |
210 | - * | |
211 | - * @param recomendacao | |
212 | - * @return boolean | |
213 | - */ | |
229 | + | |
214 | 230 | private boolean hasNumeroRecomendacaoNoParametroAtual( |
215 | 231 | Recomendacao recomendacao) { |
216 | 232 | boolean retorno = false; | ... | ... |
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/AvaliacaoDAO.java
... | ... | @@ -51,9 +51,9 @@ public class AvaliacaoDAO extends GenericDAO<Avaliacao> { |
51 | 51 | @SuppressWarnings("unchecked") |
52 | 52 | List<Avaliacao> encontrado = getSession() |
53 | 53 | .createCriteria(getPersistentClass()) |
54 | - .add(Restrictions.eq("parametroAvaliacao", parametroCalculo)) | |
54 | + .add(Restrictions.eq("parametroCalculo", parametroCalculo)) | |
55 | 55 | .list(); |
56 | - return encontrado.size() >0; | |
56 | + return encontrado.size() > 0; | |
57 | 57 | } |
58 | 58 | |
59 | 59 | } | ... | ... |