Commit 7c064de61a734a3c7233960d84fd734a3ccb2e11

Authored by magno.oliveira
1 parent 129ff833
Exists in master

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

git-svn-id: https://svn.bento.ifrs.edu.br/default/ASES/e-selo@9666 c2178572-b5ca-4887-91d2-9e3a90c7d55b
Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/jsp/criterios/form.jsp
... ... @@ -35,7 +35,12 @@
35 35 <input id="inputPeso" name="criterio.peso" type="number" class="form-control numeric" placeholder="Peso" value="${criterio.peso}" min="0" >
36 36 </div>
37 37 </div>
38   -
  38 + <div class="form-group">
  39 + <label for="inputDesc" class="col-lg-2 control-label">Descrição</label>
  40 + <div class="col-lg-10">
  41 + <input id="inputDesc" name="criterio.descricao" type="text" class="form-control" placeholder="Descrição" value="${criterio.descricao}" >
  42 + </div>
  43 + </div>
39 44 <div class="form-group">
40 45 <label for="selectTipoTeste" class="col-lg-2 control-label">Tipo de Teste</label>
41 46 <div class="col-lg-10">
... ... @@ -67,22 +72,28 @@
67 72 <table id="criteriosTable" pagesize="10" class="table table-striped table-bordered table-hover table-condensed">
68 73 <thead>
69 74 <tr>
70   - <th class="text-center" colspan="3">Faixas</th>
  75 + <th class="text-center" colspan="6">Faixas</th>
71 76 </tr>
72 77 <tr>
73   - <th>Faixa Inicial</th>
74   - <th>Faixa Final</th>
  78 + <th>Faixa</th>
  79 + <th>Descrição</th>
  80 + <th>Inicio</th>
  81 + <th>Fim</th>
  82 + <th>%</th>
75 83 <th>&nbsp;</th>
76 84 </tr>
77 85 </thead>
78 86 <tbody>
79 87 <c:forEach items="${criterio.faixas}" var="faixa">
80 88 <tr>
  89 + <td>${faixa.faixa}</td>
  90 + <td>${faixa.descricao}</td>
81 91 <td>${faixa.faixaInicio}</td>
82 92 <td>${faixa.faixaFim}</td>
  93 + <td>${faixa.percentualConformidade}</td>
83 94 <td>
84 95 <div class="btn-group">
85   - <a href="<c:url value="/conformidades/form/${criterio.id}/${faixa.id}" />" class="btn btn-default btn-sm">Consultar</a>
  96 + <a href="<c:url value="/conformidades/form/${faixa.id}" />" class="btn btn-default btn-sm">Consultar</a>
86 97 <c:if test="${parametroAvaliacao.tsFim == null}">
87 98 <a href="<c:url value="/conformidades/delete/${faixa.id}" />" class="btn btn-default btn-sm btn-confirm" data-msg="Deseja realmente excluir a faixa selecionado?">Excluir</a>
88 99 </c:if>
... ...
Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/jsp/faixa/form.jsp
... ... @@ -5,10 +5,8 @@
5 5  
6 6 <tiles:insertTemplate template="/WEB-INF/jsp/template/template.jsp">
7 7 <tiles:putAttribute name="body">
8   - <a href="<c:url value="/conformidades" />">
9   - <strong><span class="glyphicon glyphicon-list-alt"></span> Conformidades</strong>
10   - </a>
11   -
  8 + <a href="<c:url value="/parametrosAvaliacao/atualizar/${parametroAvaliacao.id}"/>"><strong><span class="glyphicon glyphicon-check"></span> Parametros de Cálculo</strong></a>
  9 +
12 10 <hr />
13 11  
14 12 <c:forEach var="error" items="${errors}">
... ... @@ -27,27 +25,43 @@
27 25  
28 26 <div class="row">
29 27 <div class="col-md-12">
30   - <form name="conformidadesForm" class="form-horizontal" action="<c:url value="/conformidades"/>" method="post">
  28 + <form name="faixasForm" class="form-horizontal" action="<c:url value="/conformidades"/>" method="post">
31 29 <fieldset>
32   -
33   - <input type="hidden" name="conformidade.diretriz.id" value="${diretrizId}" />
  30 + <div class="form-group">
  31 + <label for="inputFaixa" class="col-lg-2 control-label">Faixa</label>
  32 + <div class="col-xs-2">
  33 + <input id="inputFaixa" name="faixa.faixa" type="text" class="form-control required number" placeholder="Faixa" value="${faixa.faixa}" />
  34 + </div>
  35 + </div>
  36 + <div class="form-group">
  37 + <label for="inputDesc" class="col-lg-2 control-label">Descrição</label>
  38 + <div class="col-lg-10">
  39 + <input id="inputDesc" name="faixa.descricao" type="text" class="form-control" placeholder="Descrição" value="${faixa.descricao}" >
  40 + </div>
  41 + </div>
  42 + <input type="hidden" name="faixa.diretriz.id" value="${diretrizId}" />
34 43  
35 44 <div class="form-group">
36 45 <label for="inputFaixaInicio" class="col-lg-2 control-label">Faixa Inicial</label>
37 46 <div class="col-xs-2">
38   - <input id="inputFaixaInicio" name="conformidade.faixaInicio" type="text" class="form-control required number" placeholder="Faixa Inicial" value="${conformidade.faixaInicio}" min="0" />
  47 + <input id="inputFaixaInicio" name="conformidade.faixaInicio" type="text" class="form-control required number" placeholder="Faixa Inicial" value="${faixa.faixaInicio}" min="0" />
39 48 </div>
40 49 </div>
41   -
42 50 <div class="form-group">
43 51 <label for="inputFaixaFim" class="col-lg-2 control-label">Faixa Final</label>
44 52 <div class="col-xs-2">
45   - <input id="inputFaixaFim" name="conformidade.faixaFim" type="text" class="form-control required number" placeholder="Faixa Final" value="${conformidade.faixaFim}" min="0" />
  53 + <input id="inputFaixaFim" name="conformidade.faixaFim" type="text" class="form-control required number" placeholder="Faixa Final" value="${faixa.faixaFim}" min="0" />
  54 + </div>
  55 + </div>
  56 + <div class="form-group">
  57 + <label for="inputPercentualConformidade" class="col-lg-2 control-label">Percentual de conformidade</label>
  58 + <div class="col-xs-2">
  59 + <input id="inputPercentualConformidade" name="conformidade.percentualConformidade" type="text" class="form-control required number" placeholder="Percentual de conformidade" value="${faixa.percentualConformidade}" min="0" />
46 60 </div>
47 61 </div>
48 62  
49   - <c:if test="${conformidade.id != null}">
50   - <input type="hidden" name="conformidade.id" value="${conformidade.id}" />
  63 + <c:if test="${faixa.id != null}">
  64 + <input type="hidden" name="faixa.id" value="${faixa.id}" />
51 65 <input type="hidden" name="_method" value="put" />
52 66 </c:if>
53 67  
... ...
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/CriteriosController.java
... ... @@ -5,6 +5,7 @@ import java.util.List;
5 5  
6 6 import br.com.caelum.vraptor.Get;
7 7 import br.com.caelum.vraptor.Path;
  8 +import br.com.caelum.vraptor.Post;
8 9 import br.com.caelum.vraptor.Put;
9 10 import br.com.caelum.vraptor.Resource;
10 11 import br.com.caelum.vraptor.Result;
... ... @@ -37,29 +38,27 @@ public class CriteriosController {
37 38 this.usuarioWeb=_usuarioWeb;
38 39 }
39 40  
40   - public List<Criterio> lista() {
41   - return this.index(1);
  41 + public List<Criterio> lista(Long idRecomendacao) {
  42 + return this.index(idRecomendacao,1);
42 43 }
43 44  
44   -
45   -
46   -
47   - @Get("/criterio/{pagina}")
  45 + @Get("/criterio/{idRecomendacao}/{pagina}")
48 46 @Restrito(descricao = "CRITERIO_LISTA")
49   - public List<Criterio> index(int pagina) {
50   - ParametroAvaliacao ultimoParametroAvaliacao = dao.getLastParametrosAvaliacao();
  47 + public List<Criterio> index(Long idRecomendacao, int pagina) {
  48 + RecomendacaoDAO rDAO = new RecomendacaoDAO(dao.getSession());
  49 + Recomendacao recomendacaoAtual = rDAO.load(idRecomendacao);
51 50  
52   - // Paginaçã£o
  51 + // Paginação
53 52 // Quantidade de registros por pagina
54 53 int exibi = 7;
55 54  
56 55 // Informa a quantidade de registros
57   - int registros = dao.numLinhas(ultimoParametroAvaliacao);
  56 + int registros = dao.numLinhas(recomendacaoAtual);
58 57  
59   - // Quantidade de paginas na paginaçã£o
  58 + // Quantidade de paginas na paginação
60 59 int totalPag = registros / exibi;
61 60  
62   - // Se houver resto na divisao acima acrescenta uma pagina na paginaçã£o
  61 + // Se houver resto na divisao acima acrescenta uma pagina na paginação
63 62 if ((registros - (totalPag * exibi)) > 0)
64 63 totalPag++;
65 64  
... ... @@ -71,9 +70,9 @@ public class CriteriosController {
71 70 regFim = registros;
72 71 }
73 72  
74   - // Fim paginaçã£o
75   - List<Recomendacao> resultado = dao.listAllAtivas(ultimoParametroAvaliacao);
76   - List<Recomendacao> paginacao = new ArrayList<Recomendacao>();
  73 + // Fim paginação
  74 + List<Criterio> resultado = dao.listAllAtivas(recomendacaoAtual);
  75 + List<Criterio> paginacao = new ArrayList<Criterio>();
77 76  
78 77 for (int i = regIni; i < regFim; i++) {
79 78 paginacao.add(resultado.get(i));
... ... @@ -84,7 +83,7 @@ public class CriteriosController {
84 83 result.include("regInic", ++regIni);
85 84 result.include("regFim", regFim);
86 85 result.include("controle", "diretriz");
87   - result.include("parametroAvaliacao", ultimoParametroAvaliacao);
  86 + result.include("parametroAvaliacao", recomendacaoAtual.getParametroAvaliacao());
88 87  
89 88 return paginacao;
90 89 }
... ... @@ -99,39 +98,36 @@ public class CriteriosController {
99 98  
100 99 return criterio;
101 100 }
102   -
103   -
104 101  
105   -
106   -
107   -
108   -public void adicionar(Criterio criterio) {
  102 + @Post("/criterio")
  103 + @Restrito(descricao = "CRITERIO_ADICIONAR")
  104 + public void adicionar(Criterio criterio) {
109 105  
110 106 if (criterio.getNumeroCriterio() == null) {
111 107 validator.add(new ValidationMessage(
112   - "É obrigatório informar o número do critério.",
  108 + "ɉ obrigatório informar o número do critério.",
113 109 "recomendacao.numeroRecomendacao"));
114   - } else if (hasNumeroCriNterioRecomendacaoAtual(criterio)) {
  110 + } else if (hasNumeroCriterioRecomendacaoAtual(criterio)) {
115 111 validator
116 112 .add(new ValidationMessage(
117   - "Já existe uma recomendaçã£o ativa com esse numero. Recomendaçã£o não cadastrada.",
118   - "recomendacao.numeroRecomendacao"));
  113 + "Já existe um críterio ativo com esse numero. Critério não cadastrado.",
  114 + "criterio.numeroCriterio"));
119 115 } else if (criterio.getDescricao() == null) {
120 116 validator.add(new ValidationMessage(
121   - "É obrigatório informar a descriçã£o da recomendação.",
122   - "recomendacao.descricao"));
  117 + "ɉ obrigatório informar a descrição do critério.",
  118 + "criterio.descricao"));
123 119 } else if (criterio.getPeso() == null) {
124 120 validator.add(new ValidationMessage(
125   - "É obrigatório informar o peso da recomendação.",
126   - "recomendacao.peso"));
  121 + "É obrigatório informar o peso do critério.",
  122 + "criterio.peso"));
127 123 } else if (criterio.getPeso() <= 0) {
128 124 validator.add(new ValidationMessage(
129   - "O peso da recomendação deve ser maior que zero.",
130   - "recomendacao.peso"));
  125 + "O peso do critério deve ser maior que zero.",
  126 + "criterio.peso"));
131 127 }
132 128  
133 129 validator.onErrorUsePageOf(RecomendacaoController.class).form(
134   - criterio.getParametroAvaliacao().getId());
  130 + criterio.getRecomendacao().getId());
135 131  
136 132 this.criarNovoParametroAvaliacao(criterio, ParametroAvaliacaoController.MODO_ADD);
137 133  
... ... @@ -139,56 +135,52 @@ public void adicionar(Criterio criterio) {
139 135 result.redirectTo(ParametroAvaliacaoController.class).index(1);
140 136 }
141 137  
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());
  138 + @Put("/criterio")
  139 + @Restrito(descricao = "CRITERIO_ATUALIZAR")
  140 + public void atualizar(Criterio criterio) {
  141 + Criterio criterioCadastrado = dao.load(criterio.getId());
  142 + criterioCadastrado.setNumeroCriterio(criterio.getNumeroCriterio());
  143 + criterioCadastrado.setDescricao(criterio.getDescricao());
  144 + criterioCadastrado.setPeso(criterio.getPeso());
  145 + criterioCadastrado.setTipoTeste(criterio.getTipoTeste());
148 146  
149   - if (recomendacao.getNumeroRecomendacao() == null) {
  147 + if (criterio.getNumeroCriterio() == null) {
150 148 validator.add(new ValidationMessage(
151   - "É obrigatório informar o número da recomendação.",
152   - "recomendacao.numeroRecomendacao"));
153   - } else if (hasNumeroCriNoParametroAtual(recomendacao)) {
  149 + "ɉ obrigatório informar o número da recomendação.",
  150 + "criteiro.numeroCriterio"));
  151 + } else if (hasNumeroCriterioRecomendacaoAtual(criterioCadastrado)) {
154 152 validator
155 153 .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) {
  154 + "Já existe um criteiro ativo com esse numero. Criteiro não atualizado.",
  155 + "criteiro.numeroCriteiro"));
  156 + } else if (criterio.getDescricao() == null) {
159 157 validator.add(new ValidationMessage(
160   - "É obrigatório informar a descriçã£o da recomendaçã£o.",
161   - "recomendacao.descricao"));
162   - } else if (recomendacao.getPeso() == null) {
  158 + "ɉ obrigatório informar a descrição do criteiro.",
  159 + "criteiro.descricao"));
  160 + } else if (criterio.getPeso() == null) {
163 161 validator.add(new ValidationMessage(
164   - "É obrigatório informar o peso da recomendaçã£o.",
165   - "recomendacao.peso"));
  162 + "ɉ obrigatório informar o peso do criteiro.",
  163 + "criteiro.peso"));
166 164 }
167 165  
168 166 validator.onErrorUsePageOf(ParametroAvaliacaoController.class).form(
169   - recomendacaoCadastrada.getParametroAvaliacao().getId());
  167 + criterioCadastrado.getRecomendacao().getId());
170 168  
171   - criarNovoParametroAvaliacao(recomendacao, ParametroAvaliacaoController.MODO_EDIT);
  169 + criarNovoParametroAvaliacao(criterio, ParametroAvaliacaoController.MODO_EDIT);
172 170  
173 171 result.redirectTo(ParametroAvaliacaoController.class).index(1);
174 172 }
175 173  
176   - @Path("/recomendacao/delete/{id}")
177   - @Restrito(descricao = "RECOMENDACAO_EXCLUIR")
  174 + @Path("/criterio/delete/{id}")
  175 + @Restrito(descricao = "CRITERIO_EXCLUIR")
178 176 public void excluir(Long id) {
179   - Recomendacao recomendacao = dao.load(id);
  177 + Criterio criteiro = dao.load(id);
180 178  
181   - criarNovoParametroAvaliacao(recomendacao, ParametroAvaliacaoController.MODO_DELETE);
  179 + criarNovoParametroAvaliacao(criteiro, ParametroAvaliacaoController.MODO_DELETE);
182 180  
183   - result.include("mensagem", "Recomendaçã£o excluída com sucesso.");
  181 + result.include("mensagem", "Criteiro excluída com sucesso.");
184 182 result.redirectTo(ParametroAvaliacaoController.class).index(1);
185 183 }
186   -
187   -
188   -
189   -
190   -
191   -
192 184  
193 185 private void criarNovoParametroAvaliacao(Criterio criterio, int tipo) {
194 186 ParametroAvaliacao ultimoParametroAvaliacao = paDAO.getLastParametrosAvaliacao();
... ... @@ -254,7 +246,7 @@ public void adicionar(Criterio criterio) {
254 246 * @param criterio
255 247 * @return boolean
256 248 */
257   - private boolean hasNumeroCriNterioRecomendacaoAtual(Criterio criterio) {
  249 + private boolean hasNumeroCriterioRecomendacaoAtual(Criterio criterio) {
258 250 boolean retorno = false;
259 251  
260 252 List<Criterio> listaCadastrada = new RecomendacaoDAO(dao.getSession()).load(criterio.getRecomendacao().getId()).getCriterios();
... ...
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/FaixaController.java
1 1 package br.com.eselo.controller;
2 2  
  3 +import java.util.ArrayList;
3 4 import java.util.List;
4 5  
5 6 import br.com.caelum.vraptor.Get;
... ... @@ -18,18 +19,15 @@ import br.com.eselo.dao.CriterioDAO;
18 19 import br.com.eselo.dao.FaixaDAO;
19 20 import br.com.eselo.dao.ParametroAvaliacaoDAO;
20 21 import br.com.eselo.dao.RecomendacaoDAO;
21   -import br.com.eselo.dao.UsuarioDAO;
22 22 import br.com.eselo.model.Criterio;
23 23 import br.com.eselo.model.Faixa;
24 24 import br.com.eselo.model.ParametroAvaliacao;
25 25 import br.com.eselo.model.Recomendacao;
26   -import br.com.eselo.model.Usuario;
27 26  
28 27 @Resource
29 28 public class FaixaController {
30 29  
31 30 private final FaixaDAO dao;
32   - private final RecomendacaoDAO daoRecomendacao;
33 31 private final CriterioDAO daoCriterio;
34 32 private final ParametroAvaliacaoDAO paDAO;
35 33 private final Result result;
... ... @@ -40,7 +38,6 @@ public class FaixaController {
40 38 RecomendacaoDAO _daoRecomendacao, CriterioDAO _daoCriterio, ParametroAvaliacaoDAO _daoParametro,
41 39 Result _result, Validator _validator, UsuarioWeb _usuarioWeb) {
42 40 this.dao = _dao;
43   - this.daoRecomendacao = _daoRecomendacao;
44 41 this.daoCriterio = _daoCriterio;
45 42 this.paDAO = _daoParametro;
46 43 this.result = _result;
... ... @@ -48,16 +45,61 @@ public class FaixaController {
48 45 this.usuarioWeb = _usuarioWeb;
49 46 }
50 47  
  48 + public List<Faixa> lista(Long idCriterio) {
  49 + return this.index(idCriterio, 1);
  50 + }
  51 +
51 52 @Get("/conformidades")
52 53 @Restrito(descricao = "CONFORMIDADES_LISTA")
53   - public List<Faixa> lista() {
54   - return dao.listAll();
  54 + public List<Faixa> index(Long idCriterio, int pagina) {
  55 + CriterioDAO cDAO = new CriterioDAO(dao.getSession());
  56 + Criterio criterioAtual = cDAO.load(idCriterio);
  57 +
  58 + // Paginação
  59 + // Quantidade de registros por pagina
  60 + int exibi = 7;
  61 +
  62 + // Informa a quantidade de registros
  63 + int registros = dao.numLinhas(criterioAtual);
  64 +
  65 + // Quantidade de paginas na paginação
  66 + int totalPag = registros / exibi;
  67 +
  68 + // Se houver resto na divisao acima acrescenta uma pagina na paginação
  69 + if ((registros - (totalPag * exibi)) > 0)
  70 + totalPag++;
  71 +
  72 + // Calculo do registro inicial e final
  73 + int regIni = ((exibi * pagina) - exibi);
  74 + int regFim = (regIni + exibi);
  75 +
  76 + if (regFim > registros) {
  77 + regFim = registros;
  78 + }
  79 +
  80 + // Fim paginação
  81 + List<Faixa> resultado = dao.listAllAtivas(criterioAtual);
  82 + List<Faixa> paginacao = new ArrayList<Faixa>();
  83 +
  84 + for (int i = regIni; i < regFim; i++) {
  85 + paginacao.add(resultado.get(i));
  86 + }
  87 +
  88 + result.include("paginas", totalPag);
  89 + result.include("registros", registros);
  90 + result.include("regInic", ++regIni);
  91 + result.include("regFim", regFim);
  92 + result.include("controle", "diretriz");
  93 + result.include("parametroAvaliacao", criterioAtual.getRecomendacao().getParametroAvaliacao());
  94 +
  95 + return paginacao;
55 96 }
56 97  
  98 +
57 99 @Get("/conformidades/gerarForm/{diretrizId}/{quantidade}")
58 100 @Restrito(descricao = "CONFORMIDADES_ADICIONAR")
59   - public void gerarForm(Long diretrizId, Long quantidade) {
60   - result.include("quantidadeConformidades", quantidade);
  101 + public void gerarForm(Long diretrizId, Long faixaId) {
  102 + //result.include("quantidadeConformidades", quantidade);
61 103 result.forwardTo(this).add(diretrizId);
62 104 }
63 105  
... ... @@ -71,17 +113,13 @@ public class FaixaController {
71 113 populateSelectLists();
72 114 }
73 115  
74   - @Get("/conformidades/{criterioId}/{id}")
  116 + @Get("/conformidades/form/{id}")
75 117 @Restrito(descricao = "CONFORMIDADES_ATUALIZAR")
76   - public Faixa form(Long criterioId, Long id) {
  118 + public Faixa form(Long id) {
77 119 Faixa faixa = dao.load(id);
78 120  
79   - Criterio criterio = daoCriterio.load(criterioId);
80   - ParametroAvaliacao parametro = paDAO.load(criterio.getRecomendacao()
81   - .getParametroAvaliacao().getId());
82   -
83   - result.include("criterioId", criterioId);
84   - result.include("parametroAvaliacao", parametro);
  121 + result.include("criterioId", faixa.getCriterio().getId());
  122 + result.include("parametroAvaliacao", faixa.getCriterio().getRecomendacao().getParametroAvaliacao());
85 123 populateSelectLists();
86 124  
87 125 return faixa;
... ... @@ -119,9 +157,7 @@ public class FaixaController {
119 157  
120 158 populateSelectLists();
121 159  
122   - validator.onErrorUsePageOf(FaixaController.class).form(
123   - faixaCadastrada.getCriterio().getId(),
124   - faixaCadastrada.getId());
  160 + validator.onErrorUsePageOf(FaixaController.class).form(faixaCadastrada.getId());
125 161  
126 162 faixaCadastrada.setCriterio(faixa.getCriterio());
127 163 faixaCadastrada.setFaixaInicio(faixa.getFaixaInicio());
... ...
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/CriterioDAO.java
... ... @@ -4,6 +4,7 @@ import java.util.List;
4 4  
5 5 import org.hibernate.Session;
6 6 import org.hibernate.criterion.Order;
  7 +import org.hibernate.criterion.Projections;
7 8 import org.hibernate.criterion.Restrictions;
8 9  
9 10 import br.com.caelum.vraptor.ioc.Component;
... ... @@ -27,7 +28,7 @@ public class CriterioDAO extends GenericDAO&lt;Criterio&gt; {
27 28 public List<Criterio> listAllAtivas(Recomendacao recomendacao) {
28 29 return getSession().createCriteria(getPersistentClass())
29 30 .add(Restrictions.eq("recomendacao", recomendacao))
30   - .addOrder(Order.asc("id")).list();
  31 + .addOrder(Order.asc("numeroCriterio")).list();
31 32 }
32 33  
33 34 public Object getAllTipoTeste() {
... ... @@ -37,4 +38,9 @@ public class CriterioDAO extends GenericDAO&lt;Criterio&gt; {
37 38 return tipoTesteDao.listAll();
38 39 }
39 40  
  41 + public int numLinhas(Recomendacao recomendacao) {
  42 + return (Integer) session.createCriteria(getPersistentClass())
  43 + .add(Restrictions.eq("recomendacao", recomendacao))
  44 + .setProjection(Projections.rowCount()).uniqueResult();
  45 + }
40 46 }
... ...
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/FaixaDAO.java
... ... @@ -4,9 +4,11 @@ import java.util.List;
4 4  
5 5 import org.hibernate.Session;
6 6 import org.hibernate.criterion.Order;
  7 +import org.hibernate.criterion.Projections;
7 8 import org.hibernate.criterion.Restrictions;
8 9  
9 10 import br.com.caelum.vraptor.ioc.Component;
  11 +import br.com.eselo.model.Criterio;
10 12 import br.com.eselo.model.Faixa;
11 13 import br.com.eselo.model.Recomendacao;
12 14  
... ... @@ -29,6 +31,13 @@ public class FaixaDAO extends GenericDAO&lt;Faixa&gt; {
29 31  
30 32 return diretrizDao.listAll();
31 33 }
  34 +
  35 + @SuppressWarnings("unchecked")
  36 + public List<Faixa> listAllAtivas(Criterio criterio) {
  37 + return getSession().createCriteria(getPersistentClass())
  38 + .add(Restrictions.eq("criterio", criterio))
  39 + .addOrder(Order.asc("faixa")).list();
  40 + }
32 41  
33 42 @SuppressWarnings("unchecked")
34 43 public List<Faixa> getByDiretriz(Recomendacao recomendacao) {
... ... @@ -36,5 +45,11 @@ public class FaixaDAO extends GenericDAO&lt;Faixa&gt; {
36 45 .add(Restrictions.eq("recomendacao", recomendacao))
37 46 .addOrder(Order.asc("id")).list();
38 47 }
  48 +
  49 + public int numLinhas(Criterio criterio) {
  50 + return (Integer) session.createCriteria(getPersistentClass())
  51 + .add(Restrictions.eq("criterio", criterio))
  52 + .setProjection(Projections.rowCount()).uniqueResult();
  53 + }
39 54  
40 55 }
... ...