Commit 538e988c544571fef5f611ac186065c3d4f7db36

Authored by ROGERIO CASSIMIRO DE SOUZA
1 parent 1f0bb11a
Exists in master

redmine #4583 busca permissao documento

Showing 16 changed files with 127 additions and 9 deletions   Show diff stats
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/ColaboradorDao.java
... ... @@ -141,4 +141,11 @@ public interface ColaboradorDao extends CitGenericDAO {
141 141 */
142 142 Collection<Colaborador> findPessoaColaboradorUsuarioPorNome(String nome);
143 143  
  144 + /**
  145 + * Método responsável por obter permissão para assinatura de documento
  146 + * @author rogerio.cassimiro
  147 + * @param idUsuario
  148 + * @return {@link Boolean}
  149 + */
  150 + boolean getPermissaoAssinaturaDocumento(Long idUsuario);
144 151 }
... ...
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/PessoaDao.java
... ... @@ -39,5 +39,5 @@ public interface PessoaDao extends CitGenericDAO{
39 39 List<Pessoa> findByUsuario(Pessoa pessoa);
40 40  
41 41 Pessoa buscaPessoaPorUsuarioId(Long idUsuario);
42   -
  42 +
43 43 }
... ...
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/TerceirizadoDao.java
... ... @@ -25,4 +25,11 @@ import br.com.centralit.framework.dao.arquitetura.CitGenericDAO;
25 25 */
26 26 public interface TerceirizadoDao extends CitGenericDAO {
27 27  
  28 + /**
  29 + * Método responsável por obter permissão para assinatura de documento
  30 + * @author rogerio.cassimiro
  31 + * @param idUsuario
  32 + * @return {@link Boolean}
  33 + */
  34 + boolean getPermissaoAssinaturaDocumento(Long idUsuario);
28 35 }
... ...
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/impl/ColaboradorDaoHibernate.java
... ... @@ -10,6 +10,7 @@ import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl;
10 10 import br.com.centralit.framework.dao.arquitetura.SearchSeven;
11 11 import br.com.centralit.framework.model.Dominio;
12 12 import br.com.centralit.framework.model.Usuario;
  13 +import br.com.centralit.framework.util.UtilObjeto;
13 14  
14 15 import com.googlecode.genericdao.search.Sort;
15 16  
... ... @@ -183,4 +184,19 @@ public class ColaboradorDaoHibernate extends CitGenericDAOImpl implements Colabo
183 184  
184 185 return this.search(search, Colaborador.class);
185 186 }
  187 +
  188 + /**
  189 + * Método responsável por obter permissão para assinatura de documento
  190 + * @author rogerio.cassimiro
  191 + * @param idUsuario
  192 + * @return {@link Boolean}
  193 + */
  194 + @Override
  195 + public boolean getPermissaoAssinaturaDocumento(Long idUsuario) {
  196 + SearchSeven searchSeven = new SearchSeven();
  197 + searchSeven.addFilterEqual("pessoa.usuario.id", idUsuario);
  198 + searchSeven.addFilterEqual("classeParceiro.dominioTipoParceiro.codigo", Dominio.TIPO_PARCEIRO_COLABORADOR_SERVIDOR);
  199 + searchSeven.addFilterNotEmpty("funcao.id");
  200 + return UtilObjeto.isReferencia(this.searchUnique(searchSeven));
  201 + }
186 202 }
... ...
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/impl/PessoaDaoHibernate.java
... ... @@ -9,6 +9,8 @@ import org.springframework.stereotype.Repository;
9 9 import br.com.centralit.api.dao.PessoaDao;
10 10 import br.com.centralit.api.model.Pessoa;
11 11 import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl;
  12 +import br.com.centralit.framework.dao.arquitetura.SearchSeven;
  13 +import br.com.centralit.framework.util.UtilObjeto;
12 14  
13 15 /**
14 16 * <p>
... ...
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/impl/TerceirizadoDaoHibernate.java
... ... @@ -5,6 +5,9 @@ import org.springframework.stereotype.Repository;
5 5 import br.com.centralit.api.dao.TerceirizadoDao;
6 6 import br.com.centralit.api.model.Terceirizado;
7 7 import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl;
  8 +import br.com.centralit.framework.dao.arquitetura.SearchSeven;
  9 +import br.com.centralit.framework.model.Dominio;
  10 +import br.com.centralit.framework.util.UtilObjeto;
8 11  
9 12  
10 13 /**
... ... @@ -40,4 +43,18 @@ public class TerceirizadoDaoHibernate extends CitGenericDAOImpl implements Terce
40 43 super(Terceirizado.class);
41 44 }
42 45  
  46 + /**
  47 + * Método responsável por obter permissão para assinatura de documento
  48 + * @author rogerio.cassimiro
  49 + * @param idUsuario
  50 + * @return {@link Boolean}
  51 + */
  52 + @Override
  53 + public boolean getPermissaoAssinaturaDocumento(Long idUsuario) {
  54 + SearchSeven searchSeven = new SearchSeven();
  55 + searchSeven.addFilterEqual("pessoa.usuario.id", idUsuario);
  56 + searchSeven.addFilterEqual("classeParceiro.dominioTipoParceiro.codigo", Dominio.TIPO_PARCEIRO_TERCEIRIZADO);
  57 + searchSeven.addFilterNotEmpty("funcao.id");
  58 + return UtilObjeto.isReferencia(this.searchUnique(searchSeven));
  59 + }
43 60 }
... ...
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/ColaboradorService.java
... ... @@ -141,5 +141,11 @@ public interface ColaboradorService extends GenericService&lt;Colaborador, Long&gt; {
141 141 */
142 142 Collection<Colaborador> findPessoaColaboradorUsuarioPorNome(String nome);
143 143  
  144 + /**
  145 + * Método responsável por obter permissão para assinatura de documento
  146 + * @author rogerio.cassimiro
  147 + * @return {@link Boolean}
  148 + */
  149 + boolean getPermissaoAssinaturaDocumento();
144 150  
145 151 }
... ...
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/PessoaService.java
... ... @@ -2,9 +2,6 @@ package br.com.centralit.api.service;
2 2  
3 3 import java.util.Collection;
4 4  
5   -import org.springframework.security.access.annotation.Secured;
6   -import org.springframework.security.access.prepost.PreAuthorize;
7   -
8 5 import br.com.centralit.api.model.Colaborador;
9 6 import br.com.centralit.api.model.Pessoa;
10 7 import br.com.centralit.api.viewHelper.PessoaVH;
... ... @@ -302,4 +299,11 @@ public interface PessoaService extends GenericService&lt;Pessoa, Long&gt; {
302 299 boolean removeTerceirizado(Long id);
303 300  
304 301 Pessoa buscaPessoaPorUsuarioId(Long idUsuario);
  302 +
  303 + /**
  304 + * Método responsável por obter permissão para assinatura de documento
  305 + * @author rogerio.cassimiro
  306 + * @return {@link Boolean}
  307 + */
  308 + boolean getPermissaoAssinaturaDocumento();
305 309 }
306 310 \ No newline at end of file
... ...
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/TerceirizadoService.java
... ... @@ -26,4 +26,11 @@ import br.com.centralit.framework.service.arquitetura.GenericService;
26 26 */
27 27 public interface TerceirizadoService extends GenericService<Terceirizado, Long> {
28 28  
  29 + /**
  30 + * Método responsável por obter permissão para assinatura de documento
  31 + * @author rogerio.cassimiro
  32 + * @return {@link Boolean}
  33 + */
  34 + boolean getPermissaoAssinaturaDocumento();
  35 +
29 36 }
... ...
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/impl/ColaboradorServiceImpl.java
... ... @@ -4,6 +4,7 @@ import java.util.Collection;
4 4  
5 5 import org.springframework.beans.factory.annotation.Autowired;
6 6 import org.springframework.beans.factory.annotation.Qualifier;
  7 +import org.springframework.security.core.context.SecurityContextHolder;
7 8 import org.springframework.stereotype.Service;
8 9 import org.springframework.validation.Validator;
9 10  
... ... @@ -195,5 +196,16 @@ public class ColaboradorServiceImpl extends GenericServiceImpl&lt;Colaborador, Long
195 196  
196 197 return this.colaboradorDao.findPessoaColaboradorUsuarioPorNome(nome);
197 198 }
  199 +
  200 + /**
  201 + * Método responsável por obter permissão para assinatura de documento
  202 + * @author rogerio.cassimiro
  203 + * @return {@link Boolean}
  204 + */
  205 + @Override
  206 + public boolean getPermissaoAssinaturaDocumento() {
  207 + Usuario usuario = (Usuario) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
  208 + return this.colaboradorDao.getPermissaoAssinaturaDocumento(usuario.getId());
  209 + }
198 210  
199 211 }
... ...
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/impl/PessoaServiceImpl.java
... ... @@ -1256,4 +1256,16 @@ public class PessoaServiceImpl extends GenericServiceImpl&lt;Pessoa, Long&gt; implemen
1256 1256 return this.pessoaDao.buscaPessoaPorUsuarioId(idUsuario);
1257 1257  
1258 1258 }
  1259 +
  1260 + /**
  1261 + * Método responsável por obter permissão para assinatura de documento
  1262 + * @author rogerio.cassimiro
  1263 + * @return {@link Boolean}
  1264 + */
  1265 + @Override
  1266 + public boolean getPermissaoAssinaturaDocumento() {
  1267 + if(this.colaboradorService.getPermissaoAssinaturaDocumento())
  1268 + return this.terceirizadoService.getPermissaoAssinaturaDocumento();
  1269 + return Boolean.FALSE;
  1270 + }
1259 1271 }
... ...
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/impl/TerceirizadoServiceImp.java
... ... @@ -2,6 +2,7 @@ package br.com.centralit.api.service.impl;
2 2  
3 3 import org.springframework.beans.factory.annotation.Autowired;
4 4 import org.springframework.beans.factory.annotation.Qualifier;
  5 +import org.springframework.security.core.context.SecurityContextHolder;
5 6 import org.springframework.stereotype.Service;
6 7 import org.springframework.validation.Validator;
7 8  
... ... @@ -10,6 +11,7 @@ import br.com.centralit.api.model.Terceirizado;
10 11 import br.com.centralit.api.service.ClasseParceiroService;
11 12 import br.com.centralit.api.service.TerceirizadoService;
12 13 import br.com.centralit.framework.model.Dominio;
  14 +import br.com.centralit.framework.model.Usuario;
13 15 import br.com.centralit.framework.service.arquitetura.GenericServiceImpl;
14 16  
15 17  
... ... @@ -36,7 +38,6 @@ import br.com.centralit.framework.service.arquitetura.GenericServiceImpl;
36 38 @Service("terceirizadoService")
37 39 public class TerceirizadoServiceImp extends GenericServiceImpl<Terceirizado, Long> implements TerceirizadoService {
38 40  
39   - @SuppressWarnings("unused")
40 41 private TerceirizadoDao terceirizadoDao;
41 42  
42 43 /** Atributo classeParceiroService. */
... ... @@ -68,5 +69,16 @@ public class TerceirizadoServiceImp extends GenericServiceImpl&lt;Terceirizado, Lon
68 69  
69 70 return super.save(entity);
70 71 }
  72 +
  73 + /**
  74 + * Método responsável por obter permissão para assinatura de documento
  75 + * @author rogerio.cassimiro
  76 + * @return {@link Boolean}
  77 + */
  78 + @Override
  79 + public boolean getPermissaoAssinaturaDocumento() {
  80 + Usuario usuario = (Usuario) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
  81 + return this.terceirizadoDao.getPermissaoAssinaturaDocumento(usuario.getId());
  82 + }
71 83  
72 84 }
... ...
cit-tabelas-corp-web/src/main/java/br/com/centralit/controller/ColaboradorController.java
... ... @@ -93,5 +93,5 @@ public class ColaboradorController extends GenericController&lt;Colaborador&gt; {
93 93  
94 94 return responseBody;
95 95 }
96   -
  96 +
97 97 }
... ...
cit-tabelas-corp-web/src/main/java/br/com/centralit/controller/PessoaController.java
... ... @@ -18,7 +18,6 @@ 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.json.Views.GenericView;
22 21  
23 22 /**
24 23 * <p>
... ... @@ -449,6 +448,18 @@ public class PessoaController extends GenericController&lt;Pessoa&gt; {
449 448  
450 449 return responseBody;
451 450 }
  451 +
  452 + /**
  453 + * Método responsável por obter permissão para assinatura de documento
  454 + * @author rogerio.cassimiro
  455 + * @return {@link Boolean}
  456 + */
  457 + @RequestMapping(value = "/getPermissaoAssinaturaDocumento", method = RequestMethod.GET)
  458 + @ResponseBody
  459 + public ResponseBodyWrapper getPermissaoAssinaturaDocumento() {
  460 + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(this.getPessoaService().getPermissaoAssinaturaDocumento(), this.getEditView());
  461 + return responseBody;
  462 + }
452 463  
453 464 @Override
454 465 public Class<Views.PessoaAutoCompeteView> getAutoCompleteView() {
... ...
cit-tabelas-corp-web/src/main/webapp/assets/js/angular/custom/repository/ColaboradorRepository.js
... ... @@ -11,7 +11,8 @@ citApp.factory(&#39;ColaboradorRepository&#39;, [&#39;RestangularTabelasCorp&#39;, &#39;AbstractRepo
11 11  
12 12 this.findPorNomeAndOrganizacao = function(nome, idOrganizacao) {
13 13 return restangularTabelasCorp.one('rest/colaborador').getList("findPorNomeAndOrganizacao", {"nome": nome, "idOrganizacao" : idOrganizacao}).then();
14   - };
  14 + };
  15 +
15 16 }
16 17  
17 18 AbstractRepository.extend(ColaboradorRepository);
... ...
cit-tabelas-corp-web/src/main/webapp/assets/js/angular/custom/repository/PessoaRepository.js
... ... @@ -80,7 +80,11 @@ citApp.factory(&#39;PessoaRepository&#39;, [&#39;RestangularTabelasCorp&#39;,&#39;AbstractRepository
80 80 this.findPessoaColaboradorUsuarioPorNome = function(nome) {
81 81 return restangularTabelasCorp.one('rest/pessoa').getList("findPessoaColaboradorUsuarioPorNome", {"nome": nome}).then();
82 82 };
83   -
  83 +
  84 + this.getPermissaoAssinaturaDocumento = function() {
  85 + return restangularTabelasCorp.one(this.route + "/getPermissaoAssinaturaDocumento").get().then();
  86 + };
  87 +
84 88 }
85 89  
86 90 AbstractRepository.extend(PessoaRepository);
... ...