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,7 +35,12 @@
35 <input id="inputPeso" name="criterio.peso" type="number" class="form-control numeric" placeholder="Peso" value="${criterio.peso}" min="0" > 35 <input id="inputPeso" name="criterio.peso" type="number" class="form-control numeric" placeholder="Peso" value="${criterio.peso}" min="0" >
36 </div> 36 </div>
37 </div> 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 <div class="form-group"> 44 <div class="form-group">
40 <label for="selectTipoTeste" class="col-lg-2 control-label">Tipo de Teste</label> 45 <label for="selectTipoTeste" class="col-lg-2 control-label">Tipo de Teste</label>
41 <div class="col-lg-10"> 46 <div class="col-lg-10">
@@ -67,22 +72,28 @@ @@ -67,22 +72,28 @@
67 <table id="criteriosTable" pagesize="10" class="table table-striped table-bordered table-hover table-condensed"> 72 <table id="criteriosTable" pagesize="10" class="table table-striped table-bordered table-hover table-condensed">
68 <thead> 73 <thead>
69 <tr> 74 <tr>
70 - <th class="text-center" colspan="3">Faixas</th> 75 + <th class="text-center" colspan="6">Faixas</th>
71 </tr> 76 </tr>
72 <tr> 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 <th>&nbsp;</th> 83 <th>&nbsp;</th>
76 </tr> 84 </tr>
77 </thead> 85 </thead>
78 <tbody> 86 <tbody>
79 <c:forEach items="${criterio.faixas}" var="faixa"> 87 <c:forEach items="${criterio.faixas}" var="faixa">
80 <tr> 88 <tr>
  89 + <td>${faixa.faixa}</td>
  90 + <td>${faixa.descricao}</td>
81 <td>${faixa.faixaInicio}</td> 91 <td>${faixa.faixaInicio}</td>
82 <td>${faixa.faixaFim}</td> 92 <td>${faixa.faixaFim}</td>
  93 + <td>${faixa.percentualConformidade}</td>
83 <td> 94 <td>
84 <div class="btn-group"> 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 <c:if test="${parametroAvaliacao.tsFim == null}"> 97 <c:if test="${parametroAvaliacao.tsFim == null}">
87 <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> 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 </c:if> 99 </c:if>
Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/jsp/faixa/form.jsp
@@ -5,10 +5,8 @@ @@ -5,10 +5,8 @@
5 5
6 <tiles:insertTemplate template="/WEB-INF/jsp/template/template.jsp"> 6 <tiles:insertTemplate template="/WEB-INF/jsp/template/template.jsp">
7 <tiles:putAttribute name="body"> 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 <hr /> 10 <hr />
13 11
14 <c:forEach var="error" items="${errors}"> 12 <c:forEach var="error" items="${errors}">
@@ -27,27 +25,43 @@ @@ -27,27 +25,43 @@
27 25
28 <div class="row"> 26 <div class="row">
29 <div class="col-md-12"> 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 <fieldset> 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 <div class="form-group"> 44 <div class="form-group">
36 <label for="inputFaixaInicio" class="col-lg-2 control-label">Faixa Inicial</label> 45 <label for="inputFaixaInicio" class="col-lg-2 control-label">Faixa Inicial</label>
37 <div class="col-xs-2"> 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 </div> 48 </div>
40 </div> 49 </div>
41 -  
42 <div class="form-group"> 50 <div class="form-group">
43 <label for="inputFaixaFim" class="col-lg-2 control-label">Faixa Final</label> 51 <label for="inputFaixaFim" class="col-lg-2 control-label">Faixa Final</label>
44 <div class="col-xs-2"> 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 </div> 60 </div>
47 </div> 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 <input type="hidden" name="_method" value="put" /> 65 <input type="hidden" name="_method" value="put" />
52 </c:if> 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,6 +5,7 @@ import java.util.List;
5 5
6 import br.com.caelum.vraptor.Get; 6 import br.com.caelum.vraptor.Get;
7 import br.com.caelum.vraptor.Path; 7 import br.com.caelum.vraptor.Path;
  8 +import br.com.caelum.vraptor.Post;
8 import br.com.caelum.vraptor.Put; 9 import br.com.caelum.vraptor.Put;
9 import br.com.caelum.vraptor.Resource; 10 import br.com.caelum.vraptor.Resource;
10 import br.com.caelum.vraptor.Result; 11 import br.com.caelum.vraptor.Result;
@@ -37,29 +38,27 @@ public class CriteriosController { @@ -37,29 +38,27 @@ public class CriteriosController {
37 this.usuarioWeb=_usuarioWeb; 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 @Restrito(descricao = "CRITERIO_LISTA") 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 // Quantidade de registros por pagina 52 // Quantidade de registros por pagina
54 int exibi = 7; 53 int exibi = 7;
55 54
56 // Informa a quantidade de registros 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 int totalPag = registros / exibi; 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 if ((registros - (totalPag * exibi)) > 0) 62 if ((registros - (totalPag * exibi)) > 0)
64 totalPag++; 63 totalPag++;
65 64
@@ -71,9 +70,9 @@ public class CriteriosController { @@ -71,9 +70,9 @@ public class CriteriosController {
71 regFim = registros; 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 for (int i = regIni; i < regFim; i++) { 77 for (int i = regIni; i < regFim; i++) {
79 paginacao.add(resultado.get(i)); 78 paginacao.add(resultado.get(i));
@@ -84,7 +83,7 @@ public class CriteriosController { @@ -84,7 +83,7 @@ public class CriteriosController {
84 result.include("regInic", ++regIni); 83 result.include("regInic", ++regIni);
85 result.include("regFim", regFim); 84 result.include("regFim", regFim);
86 result.include("controle", "diretriz"); 85 result.include("controle", "diretriz");
87 - result.include("parametroAvaliacao", ultimoParametroAvaliacao); 86 + result.include("parametroAvaliacao", recomendacaoAtual.getParametroAvaliacao());
88 87
89 return paginacao; 88 return paginacao;
90 } 89 }
@@ -99,39 +98,36 @@ public class CriteriosController { @@ -99,39 +98,36 @@ public class CriteriosController {
99 98
100 return criterio; 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 if (criterio.getNumeroCriterio() == null) { 106 if (criterio.getNumeroCriterio() == null) {
111 validator.add(new ValidationMessage( 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 "recomendacao.numeroRecomendacao")); 109 "recomendacao.numeroRecomendacao"));
114 - } else if (hasNumeroCriNterioRecomendacaoAtual(criterio)) { 110 + } else if (hasNumeroCriterioRecomendacaoAtual(criterio)) {
115 validator 111 validator
116 .add(new ValidationMessage( 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 } else if (criterio.getDescricao() == null) { 115 } else if (criterio.getDescricao() == null) {
120 validator.add(new ValidationMessage( 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 } else if (criterio.getPeso() == null) { 119 } else if (criterio.getPeso() == null) {
124 validator.add(new ValidationMessage( 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 } else if (criterio.getPeso() <= 0) { 123 } else if (criterio.getPeso() <= 0) {
128 validator.add(new ValidationMessage( 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 validator.onErrorUsePageOf(RecomendacaoController.class).form( 129 validator.onErrorUsePageOf(RecomendacaoController.class).form(
134 - criterio.getParametroAvaliacao().getId()); 130 + criterio.getRecomendacao().getId());
135 131
136 this.criarNovoParametroAvaliacao(criterio, ParametroAvaliacaoController.MODO_ADD); 132 this.criarNovoParametroAvaliacao(criterio, ParametroAvaliacaoController.MODO_ADD);
137 133
@@ -139,56 +135,52 @@ public void adicionar(Criterio criterio) { @@ -139,56 +135,52 @@ public void adicionar(Criterio criterio) {
139 result.redirectTo(ParametroAvaliacaoController.class).index(1); 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 validator.add(new ValidationMessage( 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 validator 152 validator
155 .add(new ValidationMessage( 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 validator.add(new ValidationMessage( 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 validator.add(new ValidationMessage( 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 validator.onErrorUsePageOf(ParametroAvaliacaoController.class).form( 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 result.redirectTo(ParametroAvaliacaoController.class).index(1); 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 public void excluir(Long id) { 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 result.redirectTo(ParametroAvaliacaoController.class).index(1); 182 result.redirectTo(ParametroAvaliacaoController.class).index(1);
185 } 183 }
186 -  
187 -  
188 -  
189 -  
190 -  
191 -  
192 184
193 private void criarNovoParametroAvaliacao(Criterio criterio, int tipo) { 185 private void criarNovoParametroAvaliacao(Criterio criterio, int tipo) {
194 ParametroAvaliacao ultimoParametroAvaliacao = paDAO.getLastParametrosAvaliacao(); 186 ParametroAvaliacao ultimoParametroAvaliacao = paDAO.getLastParametrosAvaliacao();
@@ -254,7 +246,7 @@ public void adicionar(Criterio criterio) { @@ -254,7 +246,7 @@ public void adicionar(Criterio criterio) {
254 * @param criterio 246 * @param criterio
255 * @return boolean 247 * @return boolean
256 */ 248 */
257 - private boolean hasNumeroCriNterioRecomendacaoAtual(Criterio criterio) { 249 + private boolean hasNumeroCriterioRecomendacaoAtual(Criterio criterio) {
258 boolean retorno = false; 250 boolean retorno = false;
259 251
260 List<Criterio> listaCadastrada = new RecomendacaoDAO(dao.getSession()).load(criterio.getRecomendacao().getId()).getCriterios(); 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 package br.com.eselo.controller; 1 package br.com.eselo.controller;
2 2
  3 +import java.util.ArrayList;
3 import java.util.List; 4 import java.util.List;
4 5
5 import br.com.caelum.vraptor.Get; 6 import br.com.caelum.vraptor.Get;
@@ -18,18 +19,15 @@ import br.com.eselo.dao.CriterioDAO; @@ -18,18 +19,15 @@ import br.com.eselo.dao.CriterioDAO;
18 import br.com.eselo.dao.FaixaDAO; 19 import br.com.eselo.dao.FaixaDAO;
19 import br.com.eselo.dao.ParametroAvaliacaoDAO; 20 import br.com.eselo.dao.ParametroAvaliacaoDAO;
20 import br.com.eselo.dao.RecomendacaoDAO; 21 import br.com.eselo.dao.RecomendacaoDAO;
21 -import br.com.eselo.dao.UsuarioDAO;  
22 import br.com.eselo.model.Criterio; 22 import br.com.eselo.model.Criterio;
23 import br.com.eselo.model.Faixa; 23 import br.com.eselo.model.Faixa;
24 import br.com.eselo.model.ParametroAvaliacao; 24 import br.com.eselo.model.ParametroAvaliacao;
25 import br.com.eselo.model.Recomendacao; 25 import br.com.eselo.model.Recomendacao;
26 -import br.com.eselo.model.Usuario;  
27 26
28 @Resource 27 @Resource
29 public class FaixaController { 28 public class FaixaController {
30 29
31 private final FaixaDAO dao; 30 private final FaixaDAO dao;
32 - private final RecomendacaoDAO daoRecomendacao;  
33 private final CriterioDAO daoCriterio; 31 private final CriterioDAO daoCriterio;
34 private final ParametroAvaliacaoDAO paDAO; 32 private final ParametroAvaliacaoDAO paDAO;
35 private final Result result; 33 private final Result result;
@@ -40,7 +38,6 @@ public class FaixaController { @@ -40,7 +38,6 @@ public class FaixaController {
40 RecomendacaoDAO _daoRecomendacao, CriterioDAO _daoCriterio, ParametroAvaliacaoDAO _daoParametro, 38 RecomendacaoDAO _daoRecomendacao, CriterioDAO _daoCriterio, ParametroAvaliacaoDAO _daoParametro,
41 Result _result, Validator _validator, UsuarioWeb _usuarioWeb) { 39 Result _result, Validator _validator, UsuarioWeb _usuarioWeb) {
42 this.dao = _dao; 40 this.dao = _dao;
43 - this.daoRecomendacao = _daoRecomendacao;  
44 this.daoCriterio = _daoCriterio; 41 this.daoCriterio = _daoCriterio;
45 this.paDAO = _daoParametro; 42 this.paDAO = _daoParametro;
46 this.result = _result; 43 this.result = _result;
@@ -48,16 +45,61 @@ public class FaixaController { @@ -48,16 +45,61 @@ public class FaixaController {
48 this.usuarioWeb = _usuarioWeb; 45 this.usuarioWeb = _usuarioWeb;
49 } 46 }
50 47
  48 + public List<Faixa> lista(Long idCriterio) {
  49 + return this.index(idCriterio, 1);
  50 + }
  51 +
51 @Get("/conformidades") 52 @Get("/conformidades")
52 @Restrito(descricao = "CONFORMIDADES_LISTA") 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 @Get("/conformidades/gerarForm/{diretrizId}/{quantidade}") 99 @Get("/conformidades/gerarForm/{diretrizId}/{quantidade}")
58 @Restrito(descricao = "CONFORMIDADES_ADICIONAR") 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 result.forwardTo(this).add(diretrizId); 103 result.forwardTo(this).add(diretrizId);
62 } 104 }
63 105
@@ -71,17 +113,13 @@ public class FaixaController { @@ -71,17 +113,13 @@ public class FaixaController {
71 populateSelectLists(); 113 populateSelectLists();
72 } 114 }
73 115
74 - @Get("/conformidades/{criterioId}/{id}") 116 + @Get("/conformidades/form/{id}")
75 @Restrito(descricao = "CONFORMIDADES_ATUALIZAR") 117 @Restrito(descricao = "CONFORMIDADES_ATUALIZAR")
76 - public Faixa form(Long criterioId, Long id) { 118 + public Faixa form(Long id) {
77 Faixa faixa = dao.load(id); 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 populateSelectLists(); 123 populateSelectLists();
86 124
87 return faixa; 125 return faixa;
@@ -119,9 +157,7 @@ public class FaixaController { @@ -119,9 +157,7 @@ public class FaixaController {
119 157
120 populateSelectLists(); 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 faixaCadastrada.setCriterio(faixa.getCriterio()); 162 faixaCadastrada.setCriterio(faixa.getCriterio());
127 faixaCadastrada.setFaixaInicio(faixa.getFaixaInicio()); 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,6 +4,7 @@ import java.util.List;
4 4
5 import org.hibernate.Session; 5 import org.hibernate.Session;
6 import org.hibernate.criterion.Order; 6 import org.hibernate.criterion.Order;
  7 +import org.hibernate.criterion.Projections;
7 import org.hibernate.criterion.Restrictions; 8 import org.hibernate.criterion.Restrictions;
8 9
9 import br.com.caelum.vraptor.ioc.Component; 10 import br.com.caelum.vraptor.ioc.Component;
@@ -27,7 +28,7 @@ public class CriterioDAO extends GenericDAO&lt;Criterio&gt; { @@ -27,7 +28,7 @@ public class CriterioDAO extends GenericDAO&lt;Criterio&gt; {
27 public List<Criterio> listAllAtivas(Recomendacao recomendacao) { 28 public List<Criterio> listAllAtivas(Recomendacao recomendacao) {
28 return getSession().createCriteria(getPersistentClass()) 29 return getSession().createCriteria(getPersistentClass())
29 .add(Restrictions.eq("recomendacao", recomendacao)) 30 .add(Restrictions.eq("recomendacao", recomendacao))
30 - .addOrder(Order.asc("id")).list(); 31 + .addOrder(Order.asc("numeroCriterio")).list();
31 } 32 }
32 33
33 public Object getAllTipoTeste() { 34 public Object getAllTipoTeste() {
@@ -37,4 +38,9 @@ public class CriterioDAO extends GenericDAO&lt;Criterio&gt; { @@ -37,4 +38,9 @@ public class CriterioDAO extends GenericDAO&lt;Criterio&gt; {
37 return tipoTesteDao.listAll(); 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,9 +4,11 @@ import java.util.List;
4 4
5 import org.hibernate.Session; 5 import org.hibernate.Session;
6 import org.hibernate.criterion.Order; 6 import org.hibernate.criterion.Order;
  7 +import org.hibernate.criterion.Projections;
7 import org.hibernate.criterion.Restrictions; 8 import org.hibernate.criterion.Restrictions;
8 9
9 import br.com.caelum.vraptor.ioc.Component; 10 import br.com.caelum.vraptor.ioc.Component;
  11 +import br.com.eselo.model.Criterio;
10 import br.com.eselo.model.Faixa; 12 import br.com.eselo.model.Faixa;
11 import br.com.eselo.model.Recomendacao; 13 import br.com.eselo.model.Recomendacao;
12 14
@@ -29,6 +31,13 @@ public class FaixaDAO extends GenericDAO&lt;Faixa&gt; { @@ -29,6 +31,13 @@ public class FaixaDAO extends GenericDAO&lt;Faixa&gt; {
29 31
30 return diretrizDao.listAll(); 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 @SuppressWarnings("unchecked") 42 @SuppressWarnings("unchecked")
34 public List<Faixa> getByDiretriz(Recomendacao recomendacao) { 43 public List<Faixa> getByDiretriz(Recomendacao recomendacao) {
@@ -36,5 +45,11 @@ public class FaixaDAO extends GenericDAO&lt;Faixa&gt; { @@ -36,5 +45,11 @@ public class FaixaDAO extends GenericDAO&lt;Faixa&gt; {
36 .add(Restrictions.eq("recomendacao", recomendacao)) 45 .add(Restrictions.eq("recomendacao", recomendacao))
37 .addOrder(Order.asc("id")).list(); 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 }