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,6 +4,9 @@ import java.util.List; | ||
4 | 4 | ||
5 | import br.com.centralit.api.model.Pessoa; | 5 | import br.com.centralit.api.model.Pessoa; |
6 | import br.com.centralit.framework.dao.arquitetura.CitGenericDAO; | 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,5 +42,7 @@ public interface PessoaDao extends CitGenericDAO{ | ||
39 | List<Pessoa> findByUsuario(Pessoa pessoa); | 42 | List<Pessoa> findByUsuario(Pessoa pessoa); |
40 | 43 | ||
41 | Pessoa buscaPessoaPorUsuarioId(Long idUsuario); | 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 | package br.com.centralit.api.dao.impl; | 1 | package br.com.centralit.api.dao.impl; |
2 | 2 | ||
3 | +import java.util.HashMap; | ||
3 | import java.util.List; | 4 | import java.util.List; |
4 | 5 | ||
5 | import javax.persistence.Query; | 6 | import javax.persistence.Query; |
@@ -10,7 +11,12 @@ import br.com.centralit.api.dao.PessoaDao; | @@ -10,7 +11,12 @@ import br.com.centralit.api.dao.PessoaDao; | ||
10 | import br.com.centralit.api.model.Pessoa; | 11 | import br.com.centralit.api.model.Pessoa; |
11 | import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl; | 12 | import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl; |
12 | import br.com.centralit.framework.dao.arquitetura.SearchSeven; | 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 | * <p> | 22 | * <p> |
@@ -65,6 +71,7 @@ public class PessoaDaoHibernate extends CitGenericDAOImpl implements PessoaDao { | @@ -65,6 +71,7 @@ public class PessoaDaoHibernate extends CitGenericDAOImpl implements PessoaDao { | ||
65 | return query.getResultList(); | 71 | return query.getResultList(); |
66 | } | 72 | } |
67 | 73 | ||
74 | + @SuppressWarnings("rawtypes") | ||
68 | @Override | 75 | @Override |
69 | public Pessoa buscaPessoaPorUsuarioId(Long idUsuario) { | 76 | public Pessoa buscaPessoaPorUsuarioId(Long idUsuario) { |
70 | String queryString = "from Pessoa pessoa where usuario.id = :idUsuario "; | 77 | String queryString = "from Pessoa pessoa where usuario.id = :idUsuario "; |
@@ -77,5 +84,43 @@ public class PessoaDaoHibernate extends CitGenericDAOImpl implements PessoaDao { | @@ -77,5 +84,43 @@ public class PessoaDaoHibernate extends CitGenericDAOImpl implements PessoaDao { | ||
77 | return null; | 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,9 +2,12 @@ package br.com.centralit.api.service; | ||
2 | 2 | ||
3 | import java.util.Collection; | 3 | import java.util.Collection; |
4 | 4 | ||
5 | +import com.googlecode.genericdao.search.SearchResult; | ||
6 | + | ||
5 | import br.com.centralit.api.model.Colaborador; | 7 | import br.com.centralit.api.model.Colaborador; |
6 | import br.com.centralit.api.model.Pessoa; | 8 | import br.com.centralit.api.model.Pessoa; |
7 | import br.com.centralit.api.viewHelper.PessoaVH; | 9 | import br.com.centralit.api.viewHelper.PessoaVH; |
10 | +import br.com.centralit.framework.model.SearchParams; | ||
8 | import br.com.centralit.framework.service.arquitetura.GenericService; | 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,4 +309,6 @@ public interface PessoaService extends GenericService<Pessoa, Long> { | ||
306 | * @return {@link Pessoa} | 309 | * @return {@link Pessoa} |
307 | */ | 310 | */ |
308 | Pessoa getPermissaoAssinaturaDocumento(); | 311 | Pessoa getPermissaoAssinaturaDocumento(); |
312 | + | ||
313 | + SearchResult<Pessoa> findAllPessoas(SearchParams params); | ||
309 | } | 314 | } |
310 | \ No newline at end of file | 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,6 +11,8 @@ import org.springframework.security.core.context.SecurityContextHolder; | ||
11 | import org.springframework.stereotype.Service; | 11 | import org.springframework.stereotype.Service; |
12 | import org.springframework.validation.Validator; | 12 | import org.springframework.validation.Validator; |
13 | 13 | ||
14 | +import com.googlecode.genericdao.search.SearchResult; | ||
15 | + | ||
14 | import br.com.centralit.api.dao.PessoaDao; | 16 | import br.com.centralit.api.dao.PessoaDao; |
15 | import br.com.centralit.api.model.Colaborador; | 17 | import br.com.centralit.api.model.Colaborador; |
16 | import br.com.centralit.api.model.Contato; | 18 | import br.com.centralit.api.model.Contato; |
@@ -47,6 +49,7 @@ import br.com.centralit.framework.exception.BusinessException; | @@ -47,6 +49,7 @@ import br.com.centralit.framework.exception.BusinessException; | ||
47 | import br.com.centralit.framework.exception.CodigoErro; | 49 | import br.com.centralit.framework.exception.CodigoErro; |
48 | import br.com.centralit.framework.model.Dominio; | 50 | import br.com.centralit.framework.model.Dominio; |
49 | import br.com.centralit.framework.model.Modulo; | 51 | import br.com.centralit.framework.model.Modulo; |
52 | +import br.com.centralit.framework.model.SearchParams; | ||
50 | import br.com.centralit.framework.model.Usuario; | 53 | import br.com.centralit.framework.model.Usuario; |
51 | import br.com.centralit.framework.service.arquitetura.GenericServiceImpl; | 54 | import br.com.centralit.framework.service.arquitetura.GenericServiceImpl; |
52 | import br.com.centralit.framework.util.UtilColecao; | 55 | import br.com.centralit.framework.util.UtilColecao; |
@@ -1291,4 +1294,9 @@ public class PessoaServiceImpl extends GenericServiceImpl<Pessoa, Long> implemen | @@ -1291,4 +1294,9 @@ public class PessoaServiceImpl extends GenericServiceImpl<Pessoa, Long> implemen | ||
1291 | pessoa.setExibirAssinarDocAnexo(Boolean.TRUE); | 1294 | pessoa.setExibirAssinarDocAnexo(Boolean.TRUE); |
1292 | return pessoa; | 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,6 +18,11 @@ import br.com.centralit.api.viewHelper.PessoaVH; | ||
18 | import br.com.centralit.framework.controller.GenericController; | 18 | import br.com.centralit.framework.controller.GenericController; |
19 | import br.com.centralit.framework.json.ResponseBodyWrapper; | 19 | import br.com.centralit.framework.json.ResponseBodyWrapper; |
20 | import br.com.centralit.framework.json.Views; | 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 | * <p> | 28 | * <p> |
@@ -466,5 +471,21 @@ public class PessoaController extends GenericController<Pessoa> { | @@ -466,5 +471,21 @@ public class PessoaController extends GenericController<Pessoa> { | ||
466 | 471 | ||
467 | return Views.PessoaAutoCompeteView.class; | 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,8 +9,9 @@ citApp.controller('PessoaListController',['$scope', 'PessoaRepository', 'Dominio | ||
9 | title : $translate.instant('LABEL.NOME'), | 9 | title : $translate.instant('LABEL.NOME'), |
10 | value : 'nome' | 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 | // Iniciar propriedades padrão da consulta que sera enviada para o servidor. | 17 | // Iniciar propriedades padrão da consulta que sera enviada para o servidor. |
@@ -19,7 +20,7 @@ citApp.controller('PessoaListController',['$scope', 'PessoaRepository', 'Dominio | @@ -19,7 +20,7 @@ citApp.controller('PessoaListController',['$scope', 'PessoaRepository', 'Dominio | ||
19 | dir : 'asc', | 20 | dir : 'asc', |
20 | sort : 'id', | 21 | sort : 'id', |
21 | limit : 10, | 22 | limit : 10, |
22 | - fields : [ 'id', 'dominioPessoa.descricao', 'nome', 'email' ], | 23 | + fields : [ 'id', 'dominioPessoa.descricao', 'nome', 'pessoaFisica.cpf', 'pessoaJuridica.cnpj'], |
23 | filters : [ { | 24 | filters : [ { |
24 | type : 'string', | 25 | type : 'string', |
25 | field : 'dominioPessoa.descricao' | 26 | field : 'dominioPessoa.descricao' |
@@ -28,7 +29,7 @@ citApp.controller('PessoaListController',['$scope', 'PessoaRepository', 'Dominio | @@ -28,7 +29,7 @@ citApp.controller('PessoaListController',['$scope', 'PessoaRepository', 'Dominio | ||
28 | field : 'nome' | 29 | field : 'nome' |
29 | }, { | 30 | }, { |
30 | type : 'string', | 31 | type : 'string', |
31 | - field : 'email', | 32 | + field : 'cpfCnpj', |
32 | }] | 33 | }] |
33 | }; | 34 | }; |
34 | 35 |