diff --git a/citgrp-patrimonio-api/src/main/java/br/com/centralit/api/dao/TransferenciaDao.java b/citgrp-patrimonio-api/src/main/java/br/com/centralit/api/dao/TransferenciaDao.java index 86ada3b..14f76ff 100644 --- a/citgrp-patrimonio-api/src/main/java/br/com/centralit/api/dao/TransferenciaDao.java +++ b/citgrp-patrimonio-api/src/main/java/br/com/centralit/api/dao/TransferenciaDao.java @@ -3,6 +3,8 @@ package br.com.centralit.api.dao; import java.util.Calendar; import java.util.List; +import com.googlecode.genericdao.search.SearchResult; + import br.com.centralit.api.model.BemPatrimonial; import br.com.centralit.api.model.Transferencia; import br.com.centralit.api.viewHelper.TransferenciaVH; @@ -146,5 +148,5 @@ public interface TransferenciaDao extends CitGenericDAO { * @param transferenciaVH * @return {@link String} */ - String filtrarTransferencias(TransferenciaVH transferenciaVH); + SearchResult filtrarTransferencias(TransferenciaVH transferenciaVH); } diff --git a/citgrp-patrimonio-api/src/main/java/br/com/centralit/api/dao/impl/TransferenciaDaoHibernate.java b/citgrp-patrimonio-api/src/main/java/br/com/centralit/api/dao/impl/TransferenciaDaoHibernate.java index e5fd593..570871e 100644 --- a/citgrp-patrimonio-api/src/main/java/br/com/centralit/api/dao/impl/TransferenciaDaoHibernate.java +++ b/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; import java.text.DateFormat; import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.Calendar; import java.util.Collection; -import java.util.HashSet; import java.util.List; -import java.util.Set; import org.springframework.stereotype.Repository; import org.springframework.util.StringUtils; +import com.googlecode.genericdao.search.Field; +import com.googlecode.genericdao.search.Filter; +import com.googlecode.genericdao.search.Search; +import com.googlecode.genericdao.search.SearchResult; +import com.googlecode.genericdao.search.Sort; + import br.com.centralit.api.dao.TransferenciaDao; import br.com.centralit.api.model.BemPatrimonial; import br.com.centralit.api.model.Transferencia; @@ -21,9 +26,6 @@ import br.com.centralit.framework.util.UtilColecao; import br.com.centralit.framework.util.UtilDate; import br.com.centralit.framework.util.UtilObjeto; -import com.googlecode.genericdao.search.Filter; -import com.googlecode.genericdao.search.Sort; - /** *

* @@ -193,9 +195,12 @@ public class TransferenciaDaoHibernate extends CitGenericDAOImpl implements Tran * @return {@link Collection} */ @Override - public String filtrarTransferencias(TransferenciaVH transferenciaVH) { + public SearchResult filtrarTransferencias(TransferenciaVH transferenciaVH) { - SearchSeven searchSeven = new SearchSeven(this.persistentClass); + SearchSeven searchSeven = new SearchSeven(transferenciaVH.getSearchParams()); + searchSeven.setResultMode(Search.RESULT_SINGLE); + + searchSeven.setDistinct(true); addFilterNumeroPatrimonial(transferenciaVH, searchSeven); addFilterNumeroTermo(transferenciaVH, searchSeven); @@ -206,10 +211,31 @@ public class TransferenciaDaoHibernate extends CitGenericDAOImpl implements Tran addFilterUnidadeOrigem(transferenciaVH, searchSeven); addFilterUnidadeDestino(transferenciaVH, searchSeven); - searchSeven.addField("id"); + List fields = new ArrayList(); + List sorts = new ArrayList(); + fields.add(new Field("id")); + sorts.add(new Sort("id")); + searchSeven.setFields(fields); + searchSeven.setSorts(sorts); List ids = this.search(searchSeven); - Set idSet = new HashSet(ids); - return !UtilColecao.isVazio(idSet) ? idSet.toString().replace("[", "").replace("]", "").replace(" ", "") : ""; + + @SuppressWarnings("rawtypes") + SearchResult result = new SearchResult(); + result.setTotalCount(this.count(searchSeven)); + + fields = new ArrayList(); + searchSeven = new SearchSeven(transferenciaVH.getSearchParams()); + searchSeven.setResultMode(Search.RESULT_MAP); + for (String field : transferenciaVH.getSearchParams().getFields()) { + fields.add(new Field(field)); + } + searchSeven.setFields(fields); + searchSeven.addFilterIn("id", ids); + searchSeven.setFirstResult(0); + result.setResult(this.search(searchSeven)); + + return result; + } private void addFilterNumeroPatrimonial(TransferenciaVH transferenciaVH, SearchSeven searchSeven) { diff --git a/citgrp-patrimonio-api/src/main/java/br/com/centralit/api/service/TransferenciaService.java b/citgrp-patrimonio-api/src/main/java/br/com/centralit/api/service/TransferenciaService.java index 243b974..e5b988b 100644 --- a/citgrp-patrimonio-api/src/main/java/br/com/centralit/api/service/TransferenciaService.java +++ b/citgrp-patrimonio-api/src/main/java/br/com/centralit/api/service/TransferenciaService.java @@ -3,6 +3,8 @@ package br.com.centralit.api.service; import java.util.Calendar; import java.util.List; +import com.googlecode.genericdao.search.SearchResult; + import br.com.centralit.api.model.AdicaoBemPrincipal; import br.com.centralit.api.model.AdicaoBemPrincipalItem; import br.com.centralit.api.model.BemPatrimonial; @@ -190,7 +192,7 @@ public interface TransferenciaService extends GenericServicenumDocumentoInicio @@ -510,4 +514,12 @@ public class TransferenciaVH implements Serializable { this.intervaloNumeroPatrimonial = intervaloNumeroPatrimonial; } + public SearchParams getSearchParams() { + return searchParams; + } + + public void setSearchParams(SearchParams searchParams) { + this.searchParams = searchParams; + } + } diff --git a/citgrp-patrimonio-web/src/main/java/br/com/centralit/controller/TransferenciaController.java b/citgrp-patrimonio-web/src/main/java/br/com/centralit/controller/TransferenciaController.java index f78a79f..60f2b05 100644 --- a/citgrp-patrimonio-web/src/main/java/br/com/centralit/controller/TransferenciaController.java +++ b/citgrp-patrimonio-web/src/main/java/br/com/centralit/controller/TransferenciaController.java @@ -16,15 +16,6 @@ import java.util.Map; import javax.persistence.PersistenceException; import javax.servlet.http.HttpServletResponse; -import net.sf.jasperreports.engine.JRException; -import net.sf.jasperreports.engine.JRPrintPage; -import net.sf.jasperreports.engine.JasperCompileManager; -import net.sf.jasperreports.engine.JasperFillManager; -import net.sf.jasperreports.engine.JasperPrint; -import net.sf.jasperreports.engine.JasperReport; -import net.sf.jasperreports.engine.design.JasperDesign; -import net.sf.jasperreports.engine.xml.JRXmlLoader; - import org.apache.commons.beanutils.BeanUtilsBean; import org.hibernate.exception.ConstraintViolationException; import org.springframework.beans.factory.annotation.Autowired; @@ -37,6 +28,8 @@ import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; +import com.googlecode.genericdao.search.SearchResult; + import br.com.centralit.api.model.MyMensagemRetorno; import br.com.centralit.api.model.MyRetornoStatus; import br.com.centralit.api.model.Transferencia; @@ -62,6 +55,16 @@ import br.com.centralit.framework.util.UtilColecao; import br.com.centralit.framework.util.UtilDataBase; import br.com.centralit.framework.util.UtilObjeto; import br.com.centralit.framework.util.UtilString; +import br.com.centralit.framework.view.GridVH; +import br.com.centralit.framework.view.ResultResponseVH; +import net.sf.jasperreports.engine.JRException; +import net.sf.jasperreports.engine.JRPrintPage; +import net.sf.jasperreports.engine.JasperCompileManager; +import net.sf.jasperreports.engine.JasperFillManager; +import net.sf.jasperreports.engine.JasperPrint; +import net.sf.jasperreports.engine.JasperReport; +import net.sf.jasperreports.engine.design.JasperDesign; +import net.sf.jasperreports.engine.xml.JRXmlLoader; /** *

@@ -336,8 +339,18 @@ public class TransferenciaController extends GenericController{ */ @RequestMapping(value = "/filtrarTransferencias", method = RequestMethod.POST, produces = "application/json") @ResponseBody - public String filtrarTransferencias(@RequestBody TransferenciaVH transferenciaVH) { - return this.transferenciaService.filtrarTransferencias(transferenciaVH); + public ResponseBodyWrapper filtrarTransferencias(@RequestBody TransferenciaVH transferenciaVH) { + SearchResult searchResult = transferenciaService.filtrarTransferencias(transferenciaVH); + + GridVH gridVH = new GridVH(); + gridVH.setObjects(searchResult.getResult()); + gridVH.addTotalItensTotalPages(transferenciaVH.getSearchParams(), Long.valueOf(searchResult.getTotalCount())); + + ResultResponseVH resultResponseVH = new ResultResponseVH(gridVH); + + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(resultResponseVH, this.getListView()); + + return responseBody; } @RequestMapping(method = RequestMethod.POST, value = "") diff --git a/citgrp-patrimonio-web/src/main/webapp/assets/js/angular/custom/controller/TransferenciaListController.js b/citgrp-patrimonio-web/src/main/webapp/assets/js/angular/custom/controller/TransferenciaListController.js index 9da846b..6643c40 100644 --- a/citgrp-patrimonio-web/src/main/webapp/assets/js/angular/custom/controller/TransferenciaListController.js +++ b/citgrp-patrimonio-web/src/main/webapp/assets/js/angular/custom/controller/TransferenciaListController.js @@ -39,6 +39,8 @@ citApp.controller('TransferenciaListController', ['$scope', '$filter', '$transla {type: 'date', field: 'referenciaVigente'}] }; + $scope.filtrarCustomizado = false; + // ABRE TRANSFERENCIA SELECIONADA $scope.abrirTransferencia = function(edit){ var transferencia = $scope.transferenciaChecked; @@ -130,19 +132,20 @@ citApp.controller('TransferenciaListController', ['$scope', '$filter', '$transla $scope.filtrarTransferencias = function() { $scope.setLoadingGet(true); tratarFormatoDatas(); - if($scope.transferenciaVH.intervaloNumeroPatrimonial){ - $scope.transferenciaVH.numPatrimonial = null; - }else{ - $scope.transferenciaVH.numPatrimonialInicio = null; - $scope.transferenciaVH.numPatrimonialFim = null; - } + $scope.transferenciaVH.searchParams = $scope.filterCriteria; return TransferenciaRepository.filtrarTransferencias($scope.transferenciaVH).then(function(result){ if(result){ - $scope.filterCriteria.filters.forEach(function(filtro){ - if(filtro.field === "id") - filtro.value = result; - }); - $scope.fetchResult(); + + $scope.transferencias = result.originalElement.objects; + + $scope.totalPages = result.originalElement.totalPages; + $scope.totalItens = result.originalElement.totalItens; + + if(!$scope.filtersCopy){ + $scope.filtersCopy = angular.copy($scope.filterCriteria.filters); + } + $scope.filtrarCustomizado = true; + $scope.setLoading(false); } else { $scope.showAlert('warning', $translate.instant('MSG.NENHUM_REGISTRO_ENCONTRADO'), " ", false); @@ -154,6 +157,7 @@ citApp.controller('TransferenciaListController', ['$scope', '$filter', '$transla $scope.limparModalBuscaTransferencia = function() { $scope.transferenciaVH = { intervaloNumeroPatrimonial : false}; + $scope.filtrarCustomizado = false; }; $scope.findEstruturaGestora = function(value) { diff --git a/citgrp-patrimonio-web/src/main/webapp/html/transferencia/transferenciaList.html b/citgrp-patrimonio-web/src/main/webapp/html/transferencia/transferenciaList.html index 610acda..4fe894f 100644 --- a/citgrp-patrimonio-web/src/main/webapp/html/transferencia/transferenciaList.html +++ b/citgrp-patrimonio-web/src/main/webapp/html/transferencia/transferenciaList.html @@ -56,6 +56,6 @@ + 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()"> \ No newline at end of file -- libgit2 0.21.2