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 | ... | ... |