Commit 4a27b3f8969d020a66770f5b1c1a1875d3423b33

Authored by Ronan Tavares Camargo
1 parent 16058c9a
Exists in master

Redmine #4859

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&lt;Pessoa, Long&gt; {
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&lt;Pessoa, Long&gt; 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&lt;Pessoa&gt; {
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(&#39;PessoaListController&#39;,[&#39;$scope&#39;, &#39;PessoaRepository&#39;, &#39;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(&#39;PessoaListController&#39;,[&#39;$scope&#39;, &#39;PessoaRepository&#39;, &#39;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(&#39;PessoaListController&#39;,[&#39;$scope&#39;, &#39;PessoaRepository&#39;, &#39;Dominio
28 29 field : 'nome'
29 30 }, {
30 31 type : 'string',
31   - field : 'email',
  32 + field : 'cpfCnpj',
32 33 }]
33 34 };
34 35  
... ...