Commit 4a27b3f8969d020a66770f5b1c1a1875d3423b33
1 parent
16058c9a
Exists in
master
Redmine #4859
Showing
6 changed files
with
90 additions
and
5 deletions
Show diff stats
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/PessoaDao.java
| ... | ... | @@ -4,6 +4,9 @@ import java.util.List; |
| 4 | 4 | |
| 5 | 5 | import br.com.centralit.api.model.Pessoa; |
| 6 | 6 | import br.com.centralit.framework.dao.arquitetura.CitGenericDAO; |
| 7 | +import br.com.centralit.framework.model.SearchParams; | |
| 8 | + | |
| 9 | +import com.googlecode.genericdao.search.SearchResult; | |
| 7 | 10 | |
| 8 | 11 | |
| 9 | 12 | /** |
| ... | ... | @@ -39,5 +42,7 @@ public interface PessoaDao extends CitGenericDAO{ |
| 39 | 42 | List<Pessoa> findByUsuario(Pessoa pessoa); |
| 40 | 43 | |
| 41 | 44 | Pessoa buscaPessoaPorUsuarioId(Long idUsuario); |
| 45 | + | |
| 46 | + SearchResult<Pessoa> findAllPessoas(SearchParams params); | |
| 42 | 47 | |
| 43 | 48 | } | ... | ... |
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/impl/PessoaDaoHibernate.java
| 1 | 1 | package br.com.centralit.api.dao.impl; |
| 2 | 2 | |
| 3 | +import java.util.HashMap; | |
| 3 | 4 | import java.util.List; |
| 4 | 5 | |
| 5 | 6 | import javax.persistence.Query; |
| ... | ... | @@ -10,7 +11,12 @@ import br.com.centralit.api.dao.PessoaDao; |
| 10 | 11 | import br.com.centralit.api.model.Pessoa; |
| 11 | 12 | import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl; |
| 12 | 13 | import br.com.centralit.framework.dao.arquitetura.SearchSeven; |
| 13 | -import br.com.centralit.framework.util.UtilObjeto; | |
| 14 | +import br.com.centralit.framework.model.Filter; | |
| 15 | +import br.com.centralit.framework.model.SearchParams; | |
| 16 | +import br.com.centralit.framework.util.UtilString; | |
| 17 | + | |
| 18 | +import com.googlecode.genericdao.search.Search; | |
| 19 | +import com.googlecode.genericdao.search.SearchResult; | |
| 14 | 20 | |
| 15 | 21 | /** |
| 16 | 22 | * <p> |
| ... | ... | @@ -65,6 +71,7 @@ public class PessoaDaoHibernate extends CitGenericDAOImpl implements PessoaDao { |
| 65 | 71 | return query.getResultList(); |
| 66 | 72 | } |
| 67 | 73 | |
| 74 | + @SuppressWarnings("rawtypes") | |
| 68 | 75 | @Override |
| 69 | 76 | public Pessoa buscaPessoaPorUsuarioId(Long idUsuario) { |
| 70 | 77 | String queryString = "from Pessoa pessoa where usuario.id = :idUsuario "; |
| ... | ... | @@ -77,5 +84,43 @@ public class PessoaDaoHibernate extends CitGenericDAOImpl implements PessoaDao { |
| 77 | 84 | return null; |
| 78 | 85 | } |
| 79 | 86 | } |
| 87 | + | |
| 88 | + @SuppressWarnings({ "unchecked", "rawtypes" }) | |
| 89 | + @Override | |
| 90 | + public SearchResult findAllPessoas(SearchParams params){ | |
| 91 | + | |
| 92 | + Filter filter = params.getFilters().remove(2); | |
| 93 | + | |
| 94 | + if(params.getKeywordValue() != null && !params.getKeywordValue().equals("")){ | |
| 95 | + filter.setValue(null); | |
| 96 | + | |
| 97 | + params.getFilters().add(new Filter("pessoaFisica.cpf", "string", null, "eq")); | |
| 98 | + params.getFilters().add(new Filter("pessoaJuridica.cnpj", "string", null, "eq")); | |
| 99 | + } | |
| 100 | + | |
| 101 | + SearchSeven searchSeven = new SearchSeven(params); | |
| 102 | + | |
| 103 | + if(filter.getValue() != null){ | |
| 104 | + searchSeven.addFilterOr(com.googlecode.genericdao.search.Filter.like("pessoaFisica.cpf", "%"+ filter.getValue() +"%"), | |
| 105 | + com.googlecode.genericdao.search.Filter.like("pessoaJuridica.cnpj", "%"+ filter.getValue() +"%")); | |
| 106 | + } | |
| 107 | + | |
| 108 | + searchSeven.setResultMode(Search.RESULT_MAP); | |
| 109 | + | |
| 110 | + SearchResult searchResult = searchAndCount(searchSeven); | |
| 111 | + | |
| 112 | + for(int i = 0; i < searchResult.getResult().size(); i++){ | |
| 113 | + HashMap<String, Object> pessoa = (HashMap<String, Object>) searchResult.getResult().get(i); | |
| 114 | + | |
| 115 | + if(pessoa.get("pessoaJuridica.cnpj") != null){ | |
| 116 | + pessoa.put("cpfCnpj", UtilString.formatarString((String) pessoa.get("pessoaJuridica.cnpj"), "##.###.###/####-##")); | |
| 117 | + | |
| 118 | + }else if(pessoa.get("pessoaFisica.cpf") != null){ | |
| 119 | + pessoa.put("cpfCnpj", UtilString.formatarString((String) pessoa.get("pessoaFisica.cpf"), "###.###.###-##")); | |
| 120 | + } | |
| 121 | + } | |
| 122 | + | |
| 123 | + return searchResult; | |
| 124 | + } | |
| 80 | 125 | |
| 81 | 126 | } | ... | ... |
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/PessoaService.java
| ... | ... | @@ -2,9 +2,12 @@ package br.com.centralit.api.service; |
| 2 | 2 | |
| 3 | 3 | import java.util.Collection; |
| 4 | 4 | |
| 5 | +import com.googlecode.genericdao.search.SearchResult; | |
| 6 | + | |
| 5 | 7 | import br.com.centralit.api.model.Colaborador; |
| 6 | 8 | import br.com.centralit.api.model.Pessoa; |
| 7 | 9 | import br.com.centralit.api.viewHelper.PessoaVH; |
| 10 | +import br.com.centralit.framework.model.SearchParams; | |
| 8 | 11 | import br.com.centralit.framework.service.arquitetura.GenericService; |
| 9 | 12 | |
| 10 | 13 | /** |
| ... | ... | @@ -306,4 +309,6 @@ public interface PessoaService extends GenericService<Pessoa, Long> { |
| 306 | 309 | * @return {@link Pessoa} |
| 307 | 310 | */ |
| 308 | 311 | Pessoa getPermissaoAssinaturaDocumento(); |
| 312 | + | |
| 313 | + SearchResult<Pessoa> findAllPessoas(SearchParams params); | |
| 309 | 314 | } |
| 310 | 315 | \ No newline at end of file | ... | ... |
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/impl/PessoaServiceImpl.java
| ... | ... | @@ -11,6 +11,8 @@ import org.springframework.security.core.context.SecurityContextHolder; |
| 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.PessoaDao; |
| 15 | 17 | import br.com.centralit.api.model.Colaborador; |
| 16 | 18 | import br.com.centralit.api.model.Contato; |
| ... | ... | @@ -47,6 +49,7 @@ import br.com.centralit.framework.exception.BusinessException; |
| 47 | 49 | import br.com.centralit.framework.exception.CodigoErro; |
| 48 | 50 | import br.com.centralit.framework.model.Dominio; |
| 49 | 51 | import br.com.centralit.framework.model.Modulo; |
| 52 | +import br.com.centralit.framework.model.SearchParams; | |
| 50 | 53 | import br.com.centralit.framework.model.Usuario; |
| 51 | 54 | import br.com.centralit.framework.service.arquitetura.GenericServiceImpl; |
| 52 | 55 | import br.com.centralit.framework.util.UtilColecao; |
| ... | ... | @@ -1291,4 +1294,9 @@ public class PessoaServiceImpl extends GenericServiceImpl<Pessoa, Long> implemen |
| 1291 | 1294 | pessoa.setExibirAssinarDocAnexo(Boolean.TRUE); |
| 1292 | 1295 | return pessoa; |
| 1293 | 1296 | } |
| 1297 | + | |
| 1298 | + @Override | |
| 1299 | + public SearchResult<Pessoa> findAllPessoas(SearchParams params){ | |
| 1300 | + return pessoaDao.findAllPessoas(params); | |
| 1301 | + } | |
| 1294 | 1302 | } | ... | ... |
cit-tabelas-corp-web/src/main/java/br/com/centralit/controller/PessoaController.java
| ... | ... | @@ -18,6 +18,11 @@ import br.com.centralit.api.viewHelper.PessoaVH; |
| 18 | 18 | import br.com.centralit.framework.controller.GenericController; |
| 19 | 19 | import br.com.centralit.framework.json.ResponseBodyWrapper; |
| 20 | 20 | import br.com.centralit.framework.json.Views; |
| 21 | +import br.com.centralit.framework.model.SearchParams; | |
| 22 | +import br.com.centralit.framework.view.GridVH; | |
| 23 | +import br.com.centralit.framework.view.ResultResponseVH; | |
| 24 | + | |
| 25 | +import com.googlecode.genericdao.search.SearchResult; | |
| 21 | 26 | |
| 22 | 27 | /** |
| 23 | 28 | * <p> |
| ... | ... | @@ -466,5 +471,21 @@ public class PessoaController extends GenericController<Pessoa> { |
| 466 | 471 | |
| 467 | 472 | return Views.PessoaAutoCompeteView.class; |
| 468 | 473 | } |
| 474 | + | |
| 475 | + @SuppressWarnings({ "rawtypes", "unchecked" }) | |
| 476 | + @RequestMapping(value = "/getPage", method = RequestMethod.POST) | |
| 477 | + @ResponseBody | |
| 478 | + public ResponseBodyWrapper findGrid(@RequestBody SearchParams searchParams) { | |
| 479 | + | |
| 480 | + SearchResult<Pessoa> searchResult = pessoaService.findAllPessoas(searchParams); | |
| 481 | + | |
| 482 | + GridVH gridVH = new GridVH(); | |
| 483 | + gridVH.setObjects(searchResult.getResult()); | |
| 484 | + gridVH.addTotalItensTotalPages(searchParams, Long.valueOf(searchResult.getTotalCount())); | |
| 485 | + | |
| 486 | + ResultResponseVH resultResponseVH = new ResultResponseVH(gridVH); | |
| 487 | + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(resultResponseVH, this.getListView()); | |
| 488 | + return responseBody; | |
| 489 | + } | |
| 469 | 490 | |
| 470 | 491 | } | ... | ... |
cit-tabelas-corp-web/src/main/webapp/assets/js/angular/custom/controller/PessoaListController.js
| ... | ... | @@ -9,8 +9,9 @@ citApp.controller('PessoaListController',['$scope', 'PessoaRepository', 'Dominio |
| 9 | 9 | title : $translate.instant('LABEL.NOME'), |
| 10 | 10 | value : 'nome' |
| 11 | 11 | }, { |
| 12 | - title : $translate.instant('LABEL.EMAIL'), | |
| 13 | - value : 'email' | |
| 12 | + title : $translate.instant('LABEL.CPF_CNPJ'), | |
| 13 | + value : 'cpfCnpj', | |
| 14 | + notSort: true | |
| 14 | 15 | }]; |
| 15 | 16 | |
| 16 | 17 | // Iniciar propriedades padrão da consulta que sera enviada para o servidor. |
| ... | ... | @@ -19,7 +20,7 @@ citApp.controller('PessoaListController',['$scope', 'PessoaRepository', 'Dominio |
| 19 | 20 | dir : 'asc', |
| 20 | 21 | sort : 'id', |
| 21 | 22 | limit : 10, |
| 22 | - fields : [ 'id', 'dominioPessoa.descricao', 'nome', 'email' ], | |
| 23 | + fields : [ 'id', 'dominioPessoa.descricao', 'nome', 'pessoaFisica.cpf', 'pessoaJuridica.cnpj'], | |
| 23 | 24 | filters : [ { |
| 24 | 25 | type : 'string', |
| 25 | 26 | field : 'dominioPessoa.descricao' |
| ... | ... | @@ -28,7 +29,7 @@ citApp.controller('PessoaListController',['$scope', 'PessoaRepository', 'Dominio |
| 28 | 29 | field : 'nome' |
| 29 | 30 | }, { |
| 30 | 31 | type : 'string', |
| 31 | - field : 'email', | |
| 32 | + field : 'cpfCnpj', | |
| 32 | 33 | }] |
| 33 | 34 | }; |
| 34 | 35 | ... | ... |