Commit 0f40078dbd5cda134b49140af28a96478600734d

Authored by magno.oliveira
1 parent b6bc91c6
Exists in master

Ajustes para ativação manual de Parametros de Calculo

git-svn-id: https://svn.bento.ifrs.edu.br/default/ASES/e-selo@9918 c2178572-b5ca-4887-91d2-9e3a90c7d55b
Showing 22 changed files with 184 additions and 116 deletions   Show diff stats
Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/jsp/parametroCalculo/form.jsp
@@ -103,7 +103,7 @@ @@ -103,7 +103,7 @@
103 </tr> 103 </tr>
104 </thead> 104 </thead>
105 <tbody> 105 <tbody>
106 - <c:forEach items="${recomendacaoList}" var="recomendacao"> 106 + <c:forEach items="${parametroCalculo.recomendacoes}" var="recomendacao">
107 <tr> 107 <tr>
108 <td><a href="<c:url value="/recomendacao/form/${recomendacao.id}" />">${recomendacao.numeroRecomendacao}</a></td> 108 <td><a href="<c:url value="/recomendacao/form/${recomendacao.id}" />">${recomendacao.numeroRecomendacao}</a></td>
109 <td>${recomendacao.peso}</td> 109 <td>${recomendacao.peso}</td>
Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/jsp/parametroCalculo/relatorio.jsp
  1 +<html>
  2 +<bodY>
1 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 3 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
2 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 4 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
3 <%@ taglib prefix="tiles" uri="http://tiles.apache.org/tags-tiles"%> 5 <%@ taglib prefix="tiles" uri="http://tiles.apache.org/tags-tiles"%>
@@ -19,30 +21,68 @@ @@ -19,30 +21,68 @@
19 <hr /> 21 <hr />
20 </div> 22 </div>
21 </div> 23 </div>
  24 +
  25 + <br/>
  26 + <c:forEach var="error" items="${errors}">
  27 + <div class="alert alert-success alert-dismissable">
  28 + <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
  29 + ${error.message}
  30 + </div>
  31 + </c:forEach>
  32 +
  33 + <c:if test="${not empty mensagem}">
  34 + <div class="alert alert-success alert-dismissable">
  35 + <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
  36 + ${mensagem}
  37 + </div>
  38 + </c:if>
  39 +
  40 +
22 <div class="row"> 41 <div class="row">
23 <div class="col-md-12"> 42 <div class="col-md-12">
24 <div class="panel panel-default"> 43 <div class="panel panel-default">
25 <div class="panel-heading"> 44 <div class="panel-heading">
26 - <h3 class="text-center"><strong>RECOMENDAÇÕES E CRITÉRIOS</strong></h3> 45 + <h3 class="text-center"><strong>RECOMENDAÇÕES, CRITÉRIOS E FAIXAS</strong></h3>
27 </div> 46 </div>
28 47
29 <div class="panel-body"> 48 <div class="panel-body">
30 - <c:forEach items="${recomendacaoList}" var="recomendacao"> 49 + <c:choose>
  50 + <c:when test="${empty parametroCalculo.recomendacoes}">
  51 + <div class="table-responsive">
  52 + <table class="table table-condensed table-hover">
  53 + <tr>
  54 + <td colspan="3">
  55 + <table id="criteriosTable" pagesize="10" class="table table-condensed table-hover">
  56 + <thead>
  57 + <tr>
  58 + <th class="text-left" colspan="6">
  59 + <div class="has-error-report">
  60 + Nenhuma recomendação cadastrada
  61 + <a id="add-recomendacao" href="<c:url value="/recomendacao/novo/${parametroCalculo.id}" />" class="btn btn-default" onclick="return gravadoParametroCalculo();"><span class="glyphicon glyphicon-plus" ></span> Incluir Recomendação</a>
  62 + </div>
  63 + </th>
  64 + </tr>
  65 + </thead>
  66 + <tbody>
  67 + </tbody>
  68 + </table>
  69 + </td>
  70 + </tr>
  71 + </table>
  72 + </div>
  73 +
  74 + </c:when>
  75 + <c:when test="${not empty parametroCalculo.recomendacoes}">
  76 + <c:forEach items="${parametroCalculo.recomendacoes}" var="recomendacao">
31 <fieldset> 77 <fieldset>
32 - <legend>Recomendação</legend>  
33 -  
34 - <dl class="dl-horizontal">  
35 - <dt>Número</dt>  
36 - <dd>${recomendacao.numeroRecomendacao}</dd>  
37 - <dt>Descrição</dt>  
38 - <dd>${recomendacao.descricao}</dd>  
39 - <dt>Peso</dt>  
40 - <dd>${recomendacao.peso}</dd>  
41 - </dl>  
42 - 78 + <legend>Recomendação ${recomendacao.numeroRecomendacao}: ${recomendacao.descricao} (Peso: ${recomendacao.peso})</legend>
  79 +
43 <c:choose> 80 <c:choose>
44 <c:when test="${empty recomendacao.criterios}"> 81 <c:when test="${empty recomendacao.criterios}">
45 - <p>Nenhum critério cadastrado.</p> 82 + <div class="has-error-report">
  83 + Nenhum critério cadastrado
  84 + <a id="add-criterios" href="<c:url value="/criterio/novo/${recomendacao.id}" />" class="btn btn-default btn-sm"><span class="glyphicon glyphicon-plus"></span> Incluir Critério</a>
  85 + </div>
46 </c:when> 86 </c:when>
47 <c:when test="${not empty recomendacao.criterios}"> 87 <c:when test="${not empty recomendacao.criterios}">
48 <div class="table-responsive"> 88 <div class="table-responsive">
@@ -51,6 +91,7 @@ @@ -51,6 +91,7 @@
51 <tr> 91 <tr>
52 <th>Critério</th> 92 <th>Critério</th>
53 <th>Peso</th> 93 <th>Peso</th>
  94 + <th>Tipo</th>
54 </tr> 95 </tr>
55 </thead> 96 </thead>
56 <tbody> 97 <tbody>
@@ -59,7 +100,59 @@ @@ -59,7 +100,59 @@
59 <tr> 100 <tr>
60 <td>${criterio.descricao}</td> 101 <td>${criterio.descricao}</td>
61 <td>${criterio.peso}</td> 102 <td>${criterio.peso}</td>
  103 + <td>${criterio.tipoTeste.tipo}</td>
62 </tr> 104 </tr>
  105 + <c:if test="${criterio.tipoTeste.id==3 and not empty criterio.faixas}">
  106 + <tr>
  107 + <td colspan="3">
  108 + <table id="criteriosTable" pagesize="10" class="table table-condensed table-hover">
  109 + <thead>
  110 + <tr>
  111 + <th>&nbsp;</th>
  112 + <th>Faixa</th>
  113 + <th>Descrição</th>
  114 + <th>Inicio</th>
  115 + <th>Fim</th>
  116 + <th>%</th>
  117 + </tr>
  118 + </thead>
  119 + <tbody>
  120 + <c:forEach items="${criterio.faixas}" var="faixa">
  121 + <tr>
  122 + <th>&nbsp;</th>
  123 + <td>${faixa.faixa}</td>
  124 + <td>${faixa.descricao}</td>
  125 + <td>${faixa.faixaInicio}</td>
  126 + <td>${faixa.faixaFim}</td>
  127 + <td>${faixa.percentualConformidade}</td>
  128 + </tr>
  129 + </c:forEach>
  130 + </tbody>
  131 + </table>
  132 + </td>
  133 + </tr>
  134 + </c:if>
  135 + <c:if test="${criterio.tipoTeste.id==3 and empty criterio.faixas}"> passei
  136 + <tr>
  137 + <td colspan="3">
  138 + <table id="criteriosTable" pagesize="10" class="table table-condensed table-hover">
  139 + <thead>
  140 + <tr>
  141 + <th class="text-left" colspan="6">
  142 + <div class="has-error-report">
  143 + Nenhuma faixa cadastrada
  144 + <a id="add-criterios" href="<c:url value="/faixas/gerarForm/${criterio.id}/1" />" class="btn btn-default btn-sm"><span class="glyphicon glyphicon-plus"></span> Incluir Faixas</a>
  145 + </div>
  146 + </th>
  147 + </tr>
  148 + </thead>
  149 + <tbody>
  150 + </tbody>
  151 + </table>
  152 + </td>
  153 + </tr>
  154 + </c:if>
  155 +
63 </tbody> 156 </tbody>
64 </c:forEach> 157 </c:forEach>
65 </tbody> 158 </tbody>
@@ -72,10 +165,14 @@ @@ -72,10 +165,14 @@
72 <br /><br /> 165 <br /><br />
73 </fieldset> 166 </fieldset>
74 </c:forEach> 167 </c:forEach>
  168 + </c:when>
  169 + </c:choose>
75 </div> 170 </div>
76 </div> 171 </div>
77 </div> 172 </div>
78 </div> 173 </div>
79 174
80 </tiles:putAttribute> 175 </tiles:putAttribute>
81 -</tiles:insertTemplate>  
82 \ No newline at end of file 176 \ No newline at end of file
  177 +</tiles:insertTemplate>
  178 +</bodY>
  179 +</html>
Desenvolvimento/Codificacao/e-Selo/WebContent/static/css/bootstrap.css
@@ -1961,6 +1961,14 @@ textarea.input-lg { @@ -1961,6 +1961,14 @@ textarea.input-lg {
1961 box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); 1961 box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1962 } 1962 }
1963 1963
  1964 +.has-error-report {
  1965 + border-color: #b94a48;
  1966 + color:black;
  1967 + background-color: #FF6666;
  1968 + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  1969 + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  1970 +}
  1971 +
1964 .has-error .form-control:focus { 1972 .has-error .form-control:focus {
1965 border-color: #953b39; 1973 border-color: #953b39;
1966 -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; 1974 -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/CriteriosController.java
@@ -136,8 +136,9 @@ public class CriteriosController { @@ -136,8 +136,9 @@ public class CriteriosController {
136 criterioCadastrado.setDescricao(criterio.getDescricao()); 136 criterioCadastrado.setDescricao(criterio.getDescricao());
137 criterioCadastrado.setPeso(criterio.getPeso()); 137 criterioCadastrado.setPeso(criterio.getPeso());
138 criterioCadastrado.setTipoTeste(new TipoTesteDAO(dao.getSession()).load(criterio.getTipoTeste().getId())); 138 criterioCadastrado.setTipoTeste(new TipoTesteDAO(dao.getSession()).load(criterio.getTipoTeste().getId()));
139 - 139 +
140 dao.update(criterioCadastrado); 140 dao.update(criterioCadastrado);
  141 +
141 result.include("mensagem", Messages.getString("criterio.atualizado")); 142 result.include("mensagem", Messages.getString("criterio.atualizado"));
142 result.redirectTo(RecomendacaoController.class).form(criterio.getRecomendacao().getId()); 143 result.redirectTo(RecomendacaoController.class).form(criterio.getRecomendacao().getId());
143 }else{ 144 }else{
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/ParametroCalculoController.java
@@ -5,6 +5,7 @@ import java.io.FileNotFoundException; @@ -5,6 +5,7 @@ import java.io.FileNotFoundException;
5 import java.io.FileOutputStream; 5 import java.io.FileOutputStream;
6 import java.io.IOException; 6 import java.io.IOException;
7 import java.util.ArrayList; 7 import java.util.ArrayList;
  8 +import java.util.Date;
8 import java.util.HashMap; 9 import java.util.HashMap;
9 import java.util.List; 10 import java.util.List;
10 import java.util.Map; 11 import java.util.Map;
@@ -37,6 +38,7 @@ import br.com.eselo.dao.AvaliacaoDAO; @@ -37,6 +38,7 @@ import br.com.eselo.dao.AvaliacaoDAO;
37 import br.com.eselo.dao.ParametroCalculoDAO; 38 import br.com.eselo.dao.ParametroCalculoDAO;
38 import br.com.eselo.dao.RecomendacaoDAO; 39 import br.com.eselo.dao.RecomendacaoDAO;
39 import br.com.eselo.dao.UsuarioDAO; 40 import br.com.eselo.dao.UsuarioDAO;
  41 +import br.com.eselo.integracao.CriterioAvaliado;
40 import br.com.eselo.model.Criterio; 42 import br.com.eselo.model.Criterio;
41 import br.com.eselo.model.ParametroCalculo; 43 import br.com.eselo.model.ParametroCalculo;
42 import br.com.eselo.model.Recomendacao; 44 import br.com.eselo.model.Recomendacao;
@@ -109,25 +111,7 @@ public class ParametroCalculoController { @@ -109,25 +111,7 @@ public class ParametroCalculoController {
109 @Post("/parametrosCalculo") 111 @Post("/parametrosCalculo")
110 @Restrito(descricao = "PARAMETRO_CALCULO_ADICIONAR") 112 @Restrito(descricao = "PARAMETRO_CALCULO_ADICIONAR")
111 public void adicionar(ParametroCalculo parametroCalculo) { 113 public void adicionar(ParametroCalculo parametroCalculo) {
112 - if (parametroCalculo.getTsInicio() == null) {  
113 - validator.add(new ValidationMessage(  
114 - "É obrigatório informar o início.",  
115 - "parametroCalculo.tsInicio"));  
116 - } else if (parametroCalculo.getTsFim() != null) {  
117 - if (parametroCalculo.getTsFim().before(  
118 - parametroCalculo.getTsInicio())) {  
119 - validator  
120 - .add(new ValidationMessage(  
121 - "O campo \"Fim\" deve ser maior que o campo \"Início\".",  
122 - "parametroCalculo.tsFim"));  
123 - }  
124 - } else if (parametroCalculo.getUsuario() == null) {  
125 - validator.add(new ValidationMessage(  
126 - "É obrigatório informar o usuário.",  
127 - "parametroCalculo.usuario"));  
128 - }  
129 - validator.onErrorUsePageOf(ParametroCalculoController.class).form();  
130 - 114 +
131 inserirParametroCalculo(parametroCalculo); 115 inserirParametroCalculo(parametroCalculo);
132 116
133 result.include("mensagem", "Parâmetro de Cálculo salvo com sucesso."); 117 result.include("mensagem", "Parâmetro de Cálculo salvo com sucesso.");
@@ -162,56 +146,22 @@ public class ParametroCalculoController { @@ -162,56 +146,22 @@ public class ParametroCalculoController {
162 parametroCalculo.setUsuario(parametroCalculoCadastrado.getUsuario()); 146 parametroCalculo.setUsuario(parametroCalculoCadastrado.getUsuario());
163 parametroCalculoCadastrado.setDescricao(parametroCalculo.getDescricao()); 147 parametroCalculoCadastrado.setDescricao(parametroCalculo.getDescricao());
164 148
165 - if (parametroCalculo.getTsFim() != null) {  
166 - if (parametroCalculo.getTsFim().before(  
167 - parametroCalculo.getTsInicio())) {  
168 - validator  
169 - .add(new ValidationMessage(  
170 - "O campo \"Fim\" deve ser maior que o campo \"Início\"!",  
171 - "parametroCalculo.tsFim"));  
172 - }  
173 - } else if (parametroCalculo.getDescricao() == null) {  
174 - validator.add(new ValidationMessage(Messages  
175 - .getString("parametro_calculo.validacao.descricao"),  
176 - "parametroCalculo.descricao"));  
177 - } 149 + result.include("mensagem", "Parâmetro de Cálculo atualizado com sucesso.");
  150 + result.redirectTo(ParametroCalculoController.class).form(parametroCalculo.getId());
178 } 151 }
179 152
180 - @Put("/parametrosCalculo/ativar/{id}")  
181 - @Restrito(descricao = "PARAMETRO_CALCULO_ATIVAR")  
182 - public void ativzar(Long id) { 153 + @Path("/parametrosCalculo/ativar/{id}")
  154 + @Restrito(descricao = "PARAMETRO_CALCULO_ATIVAR")
  155 + public void ativar(Long id) {
183 156
184 ParametroCalculo pc = dao.load(id); 157 ParametroCalculo pc = dao.load(id);
185 158
186 - //Validar a presença e o estado das Recomendacoes, Criterio e Faixas quando necessário  
187 if(validarParametroCalculoAtivacao(pc)){ 159 if(validarParametroCalculoAtivacao(pc)){
188 ativarParametroCalculo(id); 160 ativarParametroCalculo(id);
189 - result.include("mensagem", Messages.getString("parametro_calculo.validacao.ativado")); 161 + result.redirectTo(ParametroCalculoController.class).lista();
190 }else{ 162 }else{
191 - 163 + result.redirectTo(ParametroCalculoController.class).relatorio(id);
192 } 164 }
193 -  
194 - if(!(new AvaliacaoDAO(dao.getSession()).existeAvaliacao(pc))){  
195 - if ((pc.getTsFim() == null)) {  
196 - dao.remove(id);  
197 -  
198 - pc = dao.getLastParametrosCalculoAtivavel();  
199 - pc.setTsFim(null);  
200 - dao.update(pc);  
201 - result.include("mensagem",  
202 - Messages.getString("parametro_calculo.validacao.excluido"));  
203 - } else {  
204 - result.include("mensagem",  
205 - Messages.getString("parametro_calculo.validacao.nao_pode_excluir"));  
206 - }  
207 - }else{  
208 -  
209 - result.include("mensagem",  
210 - Messages.getString("parametro_calculo.validacao.nao_pode_excluir.em_uso"));  
211 - }  
212 -  
213 -  
214 - result.redirectTo(ParametroCalculoController.class).lista();  
215 } 165 }
216 166
217 @Path("/parametrosCalculo/delete/{id}") 167 @Path("/parametrosCalculo/delete/{id}")
@@ -222,10 +172,10 @@ public class ParametroCalculoController { @@ -222,10 +172,10 @@ public class ParametroCalculoController {
222 172
223 if(!(new AvaliacaoDAO(dao.getSession()).existeAvaliacao(pc))){ 173 if(!(new AvaliacaoDAO(dao.getSession()).existeAvaliacao(pc))){
224 if ((pc.getTsFim() == null)) { 174 if ((pc.getTsFim() == null)) {
225 - dao.remove(id);  
226 175
227 - pc = dao.getLastParametrosCalculoAtivavel(); 176 + pc = dao.getLastParametrosCalculoAtivavel(pc);
228 pc.setTsFim(null); 177 pc.setTsFim(null);
  178 + dao.remove(id);
229 dao.update(pc); 179 dao.update(pc);
230 result.include("mensagem", 180 result.include("mensagem",
231 Messages.getString("parametro_calculo.validacao.excluido")); 181 Messages.getString("parametro_calculo.validacao.excluido"));
@@ -307,10 +257,6 @@ public class ParametroCalculoController { @@ -307,10 +257,6 @@ public class ParametroCalculoController {
307 public ParametroCalculo form(Long id) { 257 public ParametroCalculo form(Long id) {
308 ParametroCalculo parametroCalculo = this.dao.load(id); 258 ParametroCalculo parametroCalculo = this.dao.load(id);
309 result.include("usuarioList", dao.getAllUsuarios()); 259 result.include("usuarioList", dao.getAllUsuarios());
310 - result.include("recomendacaoList",  
311 - new RecomendacaoDAO(dao.getSession())  
312 - .listAllAtivas(parametroCalculo));  
313 -  
314 return parametroCalculo; 260 return parametroCalculo;
315 } 261 }
316 262
@@ -345,14 +291,49 @@ public class ParametroCalculoController { @@ -345,14 +291,49 @@ public class ParametroCalculoController {
345 } 291 }
346 292
347 private boolean validarParametroCalculoAtivacao(ParametroCalculo parametroCalculo){ 293 private boolean validarParametroCalculoAtivacao(ParametroCalculo parametroCalculo){
348 - boolean resultado = false; 294 + boolean resultado = true;
  295 + String mensagem="";
  296 + String aviso= " Não foi possível ativar este parâmetro de cálculo!<br/> Antes da ativação será necessário resolver as pendências marcadas em vermelho.";
349 297
  298 + if(parametroCalculo.getRecomendacoes().size()>0){
  299 + for(Recomendacao r: parametroCalculo.getRecomendacoes()){
  300 + if(r.getCriterios().size()>0){
  301 + for(Criterio c: r.getCriterios()){
  302 + if((c.getTipoTeste().getId().intValue()==CriterioAvaliado.TIPO_DESCRESCENTE) && (c.getFaixas().size() < 1)){
  303 + mensagem = mensagem+" O criterio "+c.getNumeroCriterio()+" da recomendação "+r.getNumeroRecomendacao()+" é do tipo DECRESCENTE e não possui nenhuma faixa cadastrada.<br/>";
  304 + resultado = false;
  305 + }
  306 + }
  307 + }else{
  308 + mensagem = mensagem+" A recomendação "+r.getNumeroRecomendacao()+" não possui nenhum critério cadastrado.<br/>";
  309 + resultado = false;
  310 + }
  311 + }
  312 + }else{
  313 + mensagem = "Nenhuma recomendação foi cadastrada.";
  314 + resultado = false;
  315 + }
  316 +
  317 + if(resultado){
  318 + result.include("mensagem", Messages.getString("parametro_calculo.validacao.ativado"));
  319 + }else{
  320 + result.include("mensagem",aviso);
  321 + System.out.println(mensagem);
  322 + }
350 323
351 return resultado; 324 return resultado;
352 } 325 }
353 326
354 private void ativarParametroCalculo(Long id){ 327 private void ativarParametroCalculo(Long id){
355 - //TODO 328 + ParametroCalculo parametroCalculoelegivel, parametroCalculoAtivo;
  329 + parametroCalculoelegivel = dao.load(id);
  330 + parametroCalculoAtivo = dao.getLastParametrosCalculoAtivo();
  331 +
  332 + parametroCalculoelegivel.setTsInicio(new Date());
  333 + parametroCalculoAtivo.setTsFim(parametroCalculoelegivel.getTsInicio());
  334 +
  335 + dao.update(parametroCalculoelegivel);
  336 + dao.update(parametroCalculoAtivo);
356 } 337 }
357 338
358 @Get("/parametrosCalculo/relatorio/{id}") 339 @Get("/parametrosCalculo/relatorio/{id}")
@@ -366,7 +347,7 @@ public class ParametroCalculoController { @@ -366,7 +347,7 @@ public class ParametroCalculoController {
366 347
367 return parametroCalculo; 348 return parametroCalculo;
368 } 349 }
369 - 350 +
370 @Get("/parametrosCalculo/exportar/{id}/*") 351 @Get("/parametrosCalculo/exportar/{id}/*")
371 @Restrito(descricao = "PARAMETRO_CALCULO_LISTA") 352 @Restrito(descricao = "PARAMETRO_CALCULO_LISTA")
372 public File exportar(Long id) { 353 public File exportar(Long id) {
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/RecomendacaoController.java
@@ -241,7 +241,7 @@ public class RecomendacaoController { @@ -241,7 +241,7 @@ public class RecomendacaoController {
241 && recomendacao.getNumeroRecomendacao() != null 241 && recomendacao.getNumeroRecomendacao() != null
242 && recomendacao.getPeso() != null) { 242 && recomendacao.getPeso() != null) {
243 ParametroCalculo pc = paDAO.load(recomendacao.getParametroCalculo().getId()); 243 ParametroCalculo pc = paDAO.load(recomendacao.getParametroCalculo().getId());
244 - List<Recomendacao> listaCadastrada = dao.recomendacoesDoParametroCalculo(pc); 244 + List<Recomendacao> listaCadastrada = dao.getByParametroCalculo(pc);
245 for (Recomendacao recomendacaoCadastrada : listaCadastrada) { 245 for (Recomendacao recomendacaoCadastrada : listaCadastrada) {
246 if (recomendacaoCadastrada.getNumeroRecomendacao().longValue() == recomendacao 246 if (recomendacaoCadastrada.getNumeroRecomendacao().longValue() == recomendacao
247 .getNumeroRecomendacao().longValue()) { 247 .getNumeroRecomendacao().longValue()) {
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/ParametroCalculoDAO.java
@@ -68,11 +68,10 @@ public class ParametroCalculoDAO extends GenericDAO&lt;ParametroCalculo&gt; { @@ -68,11 +68,10 @@ public class ParametroCalculoDAO extends GenericDAO&lt;ParametroCalculo&gt; {
68 .uniqueResult(); 68 .uniqueResult();
69 } 69 }
70 70
71 - public ParametroCalculo getLastParametrosCalculoAtivavel() { 71 + public ParametroCalculo getLastParametrosCalculoAtivavel(ParametroCalculo parametroCalculo) {
72 return (ParametroCalculo) getSession().createCriteria(getPersistentClass()) 72 return (ParametroCalculo) getSession().createCriteria(getPersistentClass())
73 .add(Restrictions.isNotNull("tsInicio")) 73 .add(Restrictions.isNotNull("tsInicio"))
74 - .add(Restrictions.isNull("tsFim"))  
75 - .setProjection(Projections.max("id")) 74 + .add(Restrictions.eq("tsFim",parametroCalculo.getTsInicio()))
76 .uniqueResult(); 75 .uniqueResult();
77 } 76 }
78 77
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/RecomendacaoDAO.java
1 package br.com.eselo.dao; 1 package br.com.eselo.dao;
2 2
3 -import java.util.ArrayList;  
4 import java.util.List; 3 import java.util.List;
5 4
6 import org.hibernate.Session; 5 import org.hibernate.Session;
@@ -36,29 +35,10 @@ public class RecomendacaoDAO extends GenericDAO&lt;Recomendacao&gt; { @@ -36,29 +35,10 @@ public class RecomendacaoDAO extends GenericDAO&lt;Recomendacao&gt; {
36 public List<Recomendacao> getByParametroCalculo( 35 public List<Recomendacao> getByParametroCalculo(
37 ParametroCalculo parametroCalculo) { 36 ParametroCalculo parametroCalculo) {
38 return getSession().createCriteria(getPersistentClass()) 37 return getSession().createCriteria(getPersistentClass())
  38 + .add(Restrictions.eq("parametroCalculo", parametroCalculo))
39 .addOrder(Order.asc("numeroRecomendacao")).list(); 39 .addOrder(Order.asc("numeroRecomendacao")).list();
40 } 40 }
41 41
42 - public List<Recomendacao> recomendacoesDoParametroCalculo(  
43 - ParametroCalculo parametroCalculo) {  
44 - List<Recomendacao> recomendacoes = this.listAll();  
45 - List<Recomendacao> recomendacoesDoUltimoParametro = new ArrayList<Recomendacao>();  
46 -  
47 - for (Recomendacao recomendacao : recomendacoes) {  
48 - if (recomendacao.getParametroCalculo().getId() == parametroCalculo  
49 - .getId()) {  
50 - recomendacoesDoUltimoParametro.add(recomendacao);  
51 - }  
52 - }  
53 -  
54 - return recomendacoesDoUltimoParametro;  
55 - }  
56 -  
57 - public ParametroCalculo getLastParametrosCalculoAtivo() {  
58 - return new ParametroCalculoDAO(getSession())  
59 - .load(new ParametroCalculoDAO(getSession()).getMaxId());  
60 - }  
61 -  
62 @SuppressWarnings("unchecked") 42 @SuppressWarnings("unchecked")
63 public List<Recomendacao> listAllAtivas(ParametroCalculo parametroCalculo) { 43 public List<Recomendacao> listAllAtivas(ParametroCalculo parametroCalculo) {
64 return getSession().createCriteria(getPersistentClass()) 44 return getSession().createCriteria(getPersistentClass())
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Criterio.java
@@ -52,12 +52,12 @@ public class Criterio { @@ -52,12 +52,12 @@ public class Criterio {
52 this.numeroCriterio = numeroCriterio; 52 this.numeroCriterio = numeroCriterio;
53 } 53 }
54 54
55 - @ManyToOne(fetch = FetchType.LAZY) 55 + @ManyToOne(fetch = FetchType.EAGER)
56 @JoinColumn(name = "id_tipo_teste", columnDefinition = "integer", nullable = false, insertable = true, updatable = true) 56 @JoinColumn(name = "id_tipo_teste", columnDefinition = "integer", nullable = false, insertable = true, updatable = true)
57 @ForeignKey(name = "fk_sel_criterio_sel_tipo_teste") 57 @ForeignKey(name = "fk_sel_criterio_sel_tipo_teste")
58 private TipoTeste tipoTeste; 58 private TipoTeste tipoTeste;
59 59
60 - @ManyToOne(fetch = FetchType.EAGER) 60 + @ManyToOne(fetch = FetchType.LAZY)
61 @JoinColumn(name = "id_recomendacao", columnDefinition = "integer", nullable = false, insertable = true, updatable = true) 61 @JoinColumn(name = "id_recomendacao", columnDefinition = "integer", nullable = false, insertable = true, updatable = true)
62 @ForeignKey(name = "fk_sel_criterio_sel_recomendacao") 62 @ForeignKey(name = "fk_sel_criterio_sel_recomendacao")
63 private Recomendacao recomendacao; 63 private Recomendacao recomendacao;
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Faixa.java
@@ -38,7 +38,7 @@ public class Faixa { @@ -38,7 +38,7 @@ public class Faixa {
38 @Column(name = "ds_faixa", nullable = false) 38 @Column(name = "ds_faixa", nullable = false)
39 private String descricao; 39 private String descricao;
40 40
41 - @ManyToOne(fetch = FetchType.EAGER) 41 + @ManyToOne(fetch = FetchType.LAZY)
42 @JoinColumn(name = "id_criterio", columnDefinition = "integer", nullable = false, insertable = true, updatable = true) 42 @JoinColumn(name = "id_criterio", columnDefinition = "integer", nullable = false, insertable = true, updatable = true)
43 @ForeignKey(name = "FK_sel_faixa_sel_criterio") 43 @ForeignKey(name = "FK_sel_faixa_sel_criterio")
44 private Criterio criterio; 44 private Criterio criterio;
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/ParametroCalculo.java
@@ -14,6 +14,7 @@ import javax.persistence.Id; @@ -14,6 +14,7 @@ import javax.persistence.Id;
14 import javax.persistence.JoinColumn; 14 import javax.persistence.JoinColumn;
15 import javax.persistence.OneToMany; 15 import javax.persistence.OneToMany;
16 import javax.persistence.OneToOne; 16 import javax.persistence.OneToOne;
  17 +import javax.persistence.OrderBy;
17 import javax.persistence.SequenceGenerator; 18 import javax.persistence.SequenceGenerator;
18 import javax.persistence.Table; 19 import javax.persistence.Table;
19 import javax.persistence.Temporal; 20 import javax.persistence.Temporal;
@@ -57,6 +58,7 @@ public class ParametroCalculo { @@ -57,6 +58,7 @@ public class ParametroCalculo {
57 private Usuario usuario; 58 private Usuario usuario;
58 59
59 @OneToMany(mappedBy = "parametroCalculo", targetEntity = br.com.eselo.model.Recomendacao.class, fetch = FetchType.LAZY, cascade = CascadeType.ALL) 60 @OneToMany(mappedBy = "parametroCalculo", targetEntity = br.com.eselo.model.Recomendacao.class, fetch = FetchType.LAZY, cascade = CascadeType.ALL)
  61 + @OrderBy("numeroRecomendacao asc")
60 private List<Recomendacao> recomendacoes; 62 private List<Recomendacao> recomendacoes;
61 63
62 @OneToMany(mappedBy = "parametroCalculo", targetEntity = br.com.eselo.model.Avaliacao.class, fetch = FetchType.LAZY, cascade = CascadeType.ALL) 64 @OneToMany(mappedBy = "parametroCalculo", targetEntity = br.com.eselo.model.Avaliacao.class, fetch = FetchType.LAZY, cascade = CascadeType.ALL)
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Recomendacao.java
@@ -35,7 +35,7 @@ public class Recomendacao { @@ -35,7 +35,7 @@ public class Recomendacao {
35 @Column(name = "nu_recomendacao", nullable = false) 35 @Column(name = "nu_recomendacao", nullable = false)
36 private Long numeroRecomendacao; 36 private Long numeroRecomendacao;
37 37
38 - @ManyToOne(fetch = FetchType.EAGER) 38 + @ManyToOne(fetch = FetchType.LAZY)
39 @JoinColumn(name = "id_parametro_calculo", insertable = true, updatable = true) 39 @JoinColumn(name = "id_parametro_calculo", insertable = true, updatable = true)
40 @ForeignKey(name = "fk_sel_parametro_calculo_sel_recomendacao") 40 @ForeignKey(name = "fk_sel_parametro_calculo_sel_recomendacao")
41 private ParametroCalculo parametroCalculo; 41 private ParametroCalculo parametroCalculo;
Desenvolvimento/Codificacao/e-Selo/target/classes/br/com/eselo/controller/CriteriosController.class
No preview for this file type
Desenvolvimento/Codificacao/e-Selo/target/classes/br/com/eselo/controller/ParametroCalculoController.class
No preview for this file type
Desenvolvimento/Codificacao/e-Selo/target/classes/br/com/eselo/controller/RecomendacaoController.class
No preview for this file type
Desenvolvimento/Codificacao/e-Selo/target/classes/br/com/eselo/dao/ParametroCalculoDAO.class
No preview for this file type
Desenvolvimento/Codificacao/e-Selo/target/classes/br/com/eselo/dao/RecomendacaoDAO.class
No preview for this file type
Desenvolvimento/Codificacao/e-Selo/target/classes/br/com/eselo/model/Criterio.class
No preview for this file type
Desenvolvimento/Codificacao/e-Selo/target/classes/br/com/eselo/model/Faixa.class
No preview for this file type
Desenvolvimento/Codificacao/e-Selo/target/classes/br/com/eselo/model/ParametroCalculo.class
No preview for this file type
Desenvolvimento/Codificacao/e-Selo/target/classes/br/com/eselo/model/Recomendacao.class
No preview for this file type
Desenvolvimento/Codificacao/e-Selo/target/m2e-wtp/web-resources/META-INF/maven/eselo/eselo/pom.properties
1 #Generated by Maven Integration for Eclipse 1 #Generated by Maven Integration for Eclipse
2 -#Mon Oct 20 08:19:05 GMT-03:00 2014 2 +#Fri Oct 24 22:36:44 GMT-03:00 2014
3 version=0.0.1-SNAPSHOT 3 version=0.0.1-SNAPSHOT
4 groupId=eselo 4 groupId=eselo
5 m2e.projectName=e-Selo 5 m2e.projectName=e-Selo