Commit fb56e6d9f76079e638fcf2b84cd5ebf2422793e1
1 parent
2adf4dba
Exists in
master
[Redmine Atendimento #4890]Paginar transferencias por ids
Showing
8 changed files
with
97 additions
and
36 deletions
Show diff stats
citgrp-patrimonio-api/src/main/java/br/com/centralit/api/dao/TransferenciaDao.java
... | ... | @@ -3,6 +3,8 @@ package br.com.centralit.api.dao; |
3 | 3 | import java.util.Calendar; |
4 | 4 | import java.util.List; |
5 | 5 | |
6 | +import com.googlecode.genericdao.search.SearchResult; | |
7 | + | |
6 | 8 | import br.com.centralit.api.model.BemPatrimonial; |
7 | 9 | import br.com.centralit.api.model.Transferencia; |
8 | 10 | import br.com.centralit.api.viewHelper.TransferenciaVH; |
... | ... | @@ -146,5 +148,5 @@ public interface TransferenciaDao extends CitGenericDAO { |
146 | 148 | * @param transferenciaVH |
147 | 149 | * @return {@link String} |
148 | 150 | */ |
149 | - String filtrarTransferencias(TransferenciaVH transferenciaVH); | |
151 | + SearchResult filtrarTransferencias(TransferenciaVH transferenciaVH); | |
150 | 152 | } | ... | ... |
citgrp-patrimonio-api/src/main/java/br/com/centralit/api/dao/impl/TransferenciaDaoHibernate.java
... | ... | @@ -2,15 +2,20 @@ package br.com.centralit.api.dao.impl; |
2 | 2 | |
3 | 3 | import java.text.DateFormat; |
4 | 4 | import java.text.SimpleDateFormat; |
5 | +import java.util.ArrayList; | |
5 | 6 | import java.util.Calendar; |
6 | 7 | import java.util.Collection; |
7 | -import java.util.HashSet; | |
8 | 8 | import java.util.List; |
9 | -import java.util.Set; | |
10 | 9 | |
11 | 10 | import org.springframework.stereotype.Repository; |
12 | 11 | import org.springframework.util.StringUtils; |
13 | 12 | |
13 | +import com.googlecode.genericdao.search.Field; | |
14 | +import com.googlecode.genericdao.search.Filter; | |
15 | +import com.googlecode.genericdao.search.Search; | |
16 | +import com.googlecode.genericdao.search.SearchResult; | |
17 | +import com.googlecode.genericdao.search.Sort; | |
18 | + | |
14 | 19 | import br.com.centralit.api.dao.TransferenciaDao; |
15 | 20 | import br.com.centralit.api.model.BemPatrimonial; |
16 | 21 | import br.com.centralit.api.model.Transferencia; |
... | ... | @@ -21,9 +26,6 @@ import br.com.centralit.framework.util.UtilColecao; |
21 | 26 | import br.com.centralit.framework.util.UtilDate; |
22 | 27 | import br.com.centralit.framework.util.UtilObjeto; |
23 | 28 | |
24 | -import com.googlecode.genericdao.search.Filter; | |
25 | -import com.googlecode.genericdao.search.Sort; | |
26 | - | |
27 | 29 | /** |
28 | 30 | * <p> |
29 | 31 | * <img src="http://centralit.com.br/images/logo_central.png"> |
... | ... | @@ -193,9 +195,12 @@ public class TransferenciaDaoHibernate extends CitGenericDAOImpl implements Tran |
193 | 195 | * @return {@link Collection} |
194 | 196 | */ |
195 | 197 | @Override |
196 | - public String filtrarTransferencias(TransferenciaVH transferenciaVH) { | |
198 | + public SearchResult filtrarTransferencias(TransferenciaVH transferenciaVH) { | |
197 | 199 | |
198 | - SearchSeven searchSeven = new SearchSeven(this.persistentClass); | |
200 | + SearchSeven searchSeven = new SearchSeven(transferenciaVH.getSearchParams()); | |
201 | + searchSeven.setResultMode(Search.RESULT_SINGLE); | |
202 | + | |
203 | + searchSeven.setDistinct(true); | |
199 | 204 | |
200 | 205 | addFilterNumeroPatrimonial(transferenciaVH, searchSeven); |
201 | 206 | addFilterNumeroTermo(transferenciaVH, searchSeven); |
... | ... | @@ -206,10 +211,31 @@ public class TransferenciaDaoHibernate extends CitGenericDAOImpl implements Tran |
206 | 211 | addFilterUnidadeOrigem(transferenciaVH, searchSeven); |
207 | 212 | addFilterUnidadeDestino(transferenciaVH, searchSeven); |
208 | 213 | |
209 | - searchSeven.addField("id"); | |
214 | + List<Field> fields = new ArrayList<Field>(); | |
215 | + List<Sort> sorts = new ArrayList<Sort>(); | |
216 | + fields.add(new Field("id")); | |
217 | + sorts.add(new Sort("id")); | |
218 | + searchSeven.setFields(fields); | |
219 | + searchSeven.setSorts(sorts); | |
210 | 220 | List<Long> ids = this.search(searchSeven); |
211 | - Set<Long> idSet = new HashSet<Long>(ids); | |
212 | - return !UtilColecao.isVazio(idSet) ? idSet.toString().replace("[", "").replace("]", "").replace(" ", "") : ""; | |
221 | + | |
222 | + @SuppressWarnings("rawtypes") | |
223 | + SearchResult result = new SearchResult(); | |
224 | + result.setTotalCount(this.count(searchSeven)); | |
225 | + | |
226 | + fields = new ArrayList<Field>(); | |
227 | + searchSeven = new SearchSeven(transferenciaVH.getSearchParams()); | |
228 | + searchSeven.setResultMode(Search.RESULT_MAP); | |
229 | + for (String field : transferenciaVH.getSearchParams().getFields()) { | |
230 | + fields.add(new Field(field)); | |
231 | + } | |
232 | + searchSeven.setFields(fields); | |
233 | + searchSeven.addFilterIn("id", ids); | |
234 | + searchSeven.setFirstResult(0); | |
235 | + result.setResult(this.search(searchSeven)); | |
236 | + | |
237 | + return result; | |
238 | + | |
213 | 239 | } |
214 | 240 | |
215 | 241 | private void addFilterNumeroPatrimonial(TransferenciaVH transferenciaVH, SearchSeven searchSeven) { | ... | ... |
citgrp-patrimonio-api/src/main/java/br/com/centralit/api/service/TransferenciaService.java
... | ... | @@ -3,6 +3,8 @@ package br.com.centralit.api.service; |
3 | 3 | import java.util.Calendar; |
4 | 4 | import java.util.List; |
5 | 5 | |
6 | +import com.googlecode.genericdao.search.SearchResult; | |
7 | + | |
6 | 8 | import br.com.centralit.api.model.AdicaoBemPrincipal; |
7 | 9 | import br.com.centralit.api.model.AdicaoBemPrincipalItem; |
8 | 10 | import br.com.centralit.api.model.BemPatrimonial; |
... | ... | @@ -190,7 +192,7 @@ public interface TransferenciaService extends GenericService<Transferencia, Long |
190 | 192 | * @param transferenciaVH |
191 | 193 | * @return {@link String} |
192 | 194 | */ |
193 | - String filtrarTransferencias(TransferenciaVH transferenciaVH); | |
195 | + SearchResult filtrarTransferencias(TransferenciaVH transferenciaVH); | |
194 | 196 | |
195 | 197 | /** |
196 | 198 | * Método responsável por validar se a transferência a ser realizada já foi realizada no mesmo dia | ... | ... |
citgrp-patrimonio-api/src/main/java/br/com/centralit/api/service/impl/TransferenciaServiceImpl.java
... | ... | @@ -11,6 +11,8 @@ import org.springframework.beans.factory.annotation.Qualifier; |
11 | 11 | import org.springframework.stereotype.Service; |
12 | 12 | import org.springframework.validation.Validator; |
13 | 13 | |
14 | +import com.googlecode.genericdao.search.SearchResult; | |
15 | + | |
14 | 16 | import br.com.centralit.api.dao.TransferenciaDao; |
15 | 17 | import br.com.centralit.api.model.AdicaoBemPrincipal; |
16 | 18 | import br.com.centralit.api.model.AdicaoBemPrincipalItem; |
... | ... | @@ -888,7 +890,7 @@ public class TransferenciaServiceImpl extends GenericServiceImpl<Transferencia, |
888 | 890 | * @return {@link String} |
889 | 891 | */ |
890 | 892 | @Override |
891 | - public String filtrarTransferencias(TransferenciaVH transferenciaVH) { | |
893 | + public SearchResult filtrarTransferencias(TransferenciaVH transferenciaVH) { | |
892 | 894 | |
893 | 895 | return this.transferenciaDao.filtrarTransferencias(transferenciaVH); |
894 | 896 | } | ... | ... |
citgrp-patrimonio-api/src/main/java/br/com/centralit/api/viewHelper/TransferenciaVH.java
... | ... | @@ -2,11 +2,13 @@ package br.com.centralit.api.viewHelper; |
2 | 2 | |
3 | 3 | import java.io.Serializable; |
4 | 4 | import java.util.Calendar; |
5 | +import java.util.List; | |
5 | 6 | |
6 | 7 | import br.com.centralit.api.model.Colaborador; |
7 | 8 | import br.com.centralit.api.model.EstruturaOrganizacional; |
8 | 9 | import br.com.centralit.api.model.Transferencia; |
9 | 10 | import br.com.centralit.framework.json.Views; |
11 | +import br.com.centralit.framework.model.SearchParams; | |
10 | 12 | |
11 | 13 | import com.fasterxml.jackson.annotation.JsonView; |
12 | 14 | |
... | ... | @@ -108,6 +110,8 @@ public class TransferenciaVH implements Serializable { |
108 | 110 | private String numPatrimonial; |
109 | 111 | |
110 | 112 | private boolean intervaloNumeroPatrimonial; |
113 | + | |
114 | + private SearchParams searchParams; | |
111 | 115 | |
112 | 116 | /** |
113 | 117 | * Retorna o valor do atributo <code>numDocumentoInicio</code> |
... | ... | @@ -510,4 +514,12 @@ public class TransferenciaVH implements Serializable { |
510 | 514 | this.intervaloNumeroPatrimonial = intervaloNumeroPatrimonial; |
511 | 515 | } |
512 | 516 | |
517 | + public SearchParams getSearchParams() { | |
518 | + return searchParams; | |
519 | + } | |
520 | + | |
521 | + public void setSearchParams(SearchParams searchParams) { | |
522 | + this.searchParams = searchParams; | |
523 | + } | |
524 | + | |
513 | 525 | } | ... | ... |
citgrp-patrimonio-web/src/main/java/br/com/centralit/controller/TransferenciaController.java
... | ... | @@ -16,15 +16,6 @@ import java.util.Map; |
16 | 16 | import javax.persistence.PersistenceException; |
17 | 17 | import javax.servlet.http.HttpServletResponse; |
18 | 18 | |
19 | -import net.sf.jasperreports.engine.JRException; | |
20 | -import net.sf.jasperreports.engine.JRPrintPage; | |
21 | -import net.sf.jasperreports.engine.JasperCompileManager; | |
22 | -import net.sf.jasperreports.engine.JasperFillManager; | |
23 | -import net.sf.jasperreports.engine.JasperPrint; | |
24 | -import net.sf.jasperreports.engine.JasperReport; | |
25 | -import net.sf.jasperreports.engine.design.JasperDesign; | |
26 | -import net.sf.jasperreports.engine.xml.JRXmlLoader; | |
27 | - | |
28 | 19 | import org.apache.commons.beanutils.BeanUtilsBean; |
29 | 20 | import org.hibernate.exception.ConstraintViolationException; |
30 | 21 | import org.springframework.beans.factory.annotation.Autowired; |
... | ... | @@ -37,6 +28,8 @@ import org.springframework.web.bind.annotation.RequestMethod; |
37 | 28 | import org.springframework.web.bind.annotation.RequestParam; |
38 | 29 | import org.springframework.web.bind.annotation.ResponseBody; |
39 | 30 | |
31 | +import com.googlecode.genericdao.search.SearchResult; | |
32 | + | |
40 | 33 | import br.com.centralit.api.model.MyMensagemRetorno; |
41 | 34 | import br.com.centralit.api.model.MyRetornoStatus; |
42 | 35 | import br.com.centralit.api.model.Transferencia; |
... | ... | @@ -62,6 +55,16 @@ import br.com.centralit.framework.util.UtilColecao; |
62 | 55 | import br.com.centralit.framework.util.UtilDataBase; |
63 | 56 | import br.com.centralit.framework.util.UtilObjeto; |
64 | 57 | import br.com.centralit.framework.util.UtilString; |
58 | +import br.com.centralit.framework.view.GridVH; | |
59 | +import br.com.centralit.framework.view.ResultResponseVH; | |
60 | +import net.sf.jasperreports.engine.JRException; | |
61 | +import net.sf.jasperreports.engine.JRPrintPage; | |
62 | +import net.sf.jasperreports.engine.JasperCompileManager; | |
63 | +import net.sf.jasperreports.engine.JasperFillManager; | |
64 | +import net.sf.jasperreports.engine.JasperPrint; | |
65 | +import net.sf.jasperreports.engine.JasperReport; | |
66 | +import net.sf.jasperreports.engine.design.JasperDesign; | |
67 | +import net.sf.jasperreports.engine.xml.JRXmlLoader; | |
65 | 68 | |
66 | 69 | /** |
67 | 70 | * <p><img src="http://centralit.com.br/images/logo_central.png"></p> |
... | ... | @@ -336,8 +339,18 @@ public class TransferenciaController extends GenericController<Transferencia>{ |
336 | 339 | */ |
337 | 340 | @RequestMapping(value = "/filtrarTransferencias", method = RequestMethod.POST, produces = "application/json") |
338 | 341 | @ResponseBody |
339 | - public String filtrarTransferencias(@RequestBody TransferenciaVH transferenciaVH) { | |
340 | - return this.transferenciaService.filtrarTransferencias(transferenciaVH); | |
342 | + public ResponseBodyWrapper filtrarTransferencias(@RequestBody TransferenciaVH transferenciaVH) { | |
343 | + SearchResult searchResult = transferenciaService.filtrarTransferencias(transferenciaVH); | |
344 | + | |
345 | + GridVH gridVH = new GridVH(); | |
346 | + gridVH.setObjects(searchResult.getResult()); | |
347 | + gridVH.addTotalItensTotalPages(transferenciaVH.getSearchParams(), Long.valueOf(searchResult.getTotalCount())); | |
348 | + | |
349 | + ResultResponseVH resultResponseVH = new ResultResponseVH(gridVH); | |
350 | + | |
351 | + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(resultResponseVH, this.getListView()); | |
352 | + | |
353 | + return responseBody; | |
341 | 354 | } |
342 | 355 | |
343 | 356 | @RequestMapping(method = RequestMethod.POST, value = "") | ... | ... |
citgrp-patrimonio-web/src/main/webapp/assets/js/angular/custom/controller/TransferenciaListController.js
... | ... | @@ -39,6 +39,8 @@ citApp.controller('TransferenciaListController', ['$scope', '$filter', '$transla |
39 | 39 | {type: 'date', field: 'referenciaVigente'}] |
40 | 40 | }; |
41 | 41 | |
42 | + $scope.filtrarCustomizado = false; | |
43 | + | |
42 | 44 | // ABRE TRANSFERENCIA SELECIONADA |
43 | 45 | $scope.abrirTransferencia = function(edit){ |
44 | 46 | var transferencia = $scope.transferenciaChecked; |
... | ... | @@ -130,19 +132,20 @@ citApp.controller('TransferenciaListController', ['$scope', '$filter', '$transla |
130 | 132 | $scope.filtrarTransferencias = function() { |
131 | 133 | $scope.setLoadingGet(true); |
132 | 134 | tratarFormatoDatas(); |
133 | - if($scope.transferenciaVH.intervaloNumeroPatrimonial){ | |
134 | - $scope.transferenciaVH.numPatrimonial = null; | |
135 | - }else{ | |
136 | - $scope.transferenciaVH.numPatrimonialInicio = null; | |
137 | - $scope.transferenciaVH.numPatrimonialFim = null; | |
138 | - } | |
135 | + $scope.transferenciaVH.searchParams = $scope.filterCriteria; | |
139 | 136 | return TransferenciaRepository.filtrarTransferencias($scope.transferenciaVH).then(function(result){ |
140 | 137 | if(result){ |
141 | - $scope.filterCriteria.filters.forEach(function(filtro){ | |
142 | - if(filtro.field === "id") | |
143 | - filtro.value = result; | |
144 | - }); | |
145 | - $scope.fetchResult(); | |
138 | + | |
139 | + $scope.transferencias = result.originalElement.objects; | |
140 | + | |
141 | + $scope.totalPages = result.originalElement.totalPages; | |
142 | + $scope.totalItens = result.originalElement.totalItens; | |
143 | + | |
144 | + if(!$scope.filtersCopy){ | |
145 | + $scope.filtersCopy = angular.copy($scope.filterCriteria.filters); | |
146 | + } | |
147 | + $scope.filtrarCustomizado = true; | |
148 | + $scope.setLoading(false); | |
146 | 149 | |
147 | 150 | } else { |
148 | 151 | $scope.showAlert('warning', $translate.instant('MSG.NENHUM_REGISTRO_ENCONTRADO'), " ", false); |
... | ... | @@ -154,6 +157,7 @@ citApp.controller('TransferenciaListController', ['$scope', '$filter', '$transla |
154 | 157 | |
155 | 158 | $scope.limparModalBuscaTransferencia = function() { |
156 | 159 | $scope.transferenciaVH = { intervaloNumeroPatrimonial : false}; |
160 | + $scope.filtrarCustomizado = false; | |
157 | 161 | }; |
158 | 162 | |
159 | 163 | $scope.findEstruturaGestora = function(value) { | ... | ... |
citgrp-patrimonio-web/src/main/webapp/html/transferencia/transferenciaList.html
... | ... | @@ -56,6 +56,6 @@ |
56 | 56 | </div> |
57 | 57 | |
58 | 58 | <list-view ng-lista="transferencias" ng-repository="TransferenciaRepository" ng-headers="headers" ng-filter-criteria="filterCriteria" ng-item-selecionado="transferenciaChecked" |
59 | - ng-lista-itens-selecionados="listaSelecionados" ng-check-on="true"></list-view> | |
59 | + ng-lista-itens-selecionados="listaSelecionados" ng-check-on="true" set-total-pages="totalPages" set-total-itens="totalItens" use-custom-filter-temp="filtrarCustomizado" ng-custom-filter="filtrarTransferencias()"></list-view> | |
60 | 60 | |
61 | 61 | </div><!-- .page-content --> |
62 | 62 | \ No newline at end of file | ... | ... |