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,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&lt;Pessoa, Long&gt; { @@ -306,4 +309,6 @@ public interface PessoaService extends GenericService&lt;Pessoa, Long&gt; {
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&lt;Pessoa, Long&gt; implemen @@ -1291,4 +1294,9 @@ public class PessoaServiceImpl extends GenericServiceImpl&lt;Pessoa, Long&gt; 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&lt;Pessoa&gt; { @@ -466,5 +471,21 @@ public class PessoaController extends GenericController&lt;Pessoa&gt; {
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(&#39;PessoaListController&#39;,[&#39;$scope&#39;, &#39;PessoaRepository&#39;, &#39;Dominio @@ -9,8 +9,9 @@ citApp.controller(&#39;PessoaListController&#39;,[&#39;$scope&#39;, &#39;PessoaRepository&#39;, &#39;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(&#39;PessoaListController&#39;,[&#39;$scope&#39;, &#39;PessoaRepository&#39;, &#39;Dominio @@ -19,7 +20,7 @@ citApp.controller(&#39;PessoaListController&#39;,[&#39;$scope&#39;, &#39;PessoaRepository&#39;, &#39;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(&#39;PessoaListController&#39;,[&#39;$scope&#39;, &#39;PessoaRepository&#39;, &#39;Dominio @@ -28,7 +29,7 @@ citApp.controller(&#39;PessoaListController&#39;,[&#39;$scope&#39;, &#39;PessoaRepository&#39;, &#39;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