From 538e988c544571fef5f611ac186065c3d4f7db36 Mon Sep 17 00:00:00 2001 From: ROGERIO CASSIMIRO DE SOUZA Date: Tue, 19 Apr 2016 18:48:17 -0300 Subject: [PATCH] redmine #4583 busca permissao documento --- cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/ColaboradorDao.java | 7 +++++++ cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/PessoaDao.java | 2 +- cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/TerceirizadoDao.java | 7 +++++++ cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/impl/ColaboradorDaoHibernate.java | 16 ++++++++++++++++ cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/impl/PessoaDaoHibernate.java | 2 ++ cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/impl/TerceirizadoDaoHibernate.java | 17 +++++++++++++++++ cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/ColaboradorService.java | 6 ++++++ cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/PessoaService.java | 10 +++++++--- cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/TerceirizadoService.java | 7 +++++++ cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/impl/ColaboradorServiceImpl.java | 12 ++++++++++++ cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/impl/PessoaServiceImpl.java | 12 ++++++++++++ cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/impl/TerceirizadoServiceImp.java | 14 +++++++++++++- cit-tabelas-corp-web/src/main/java/br/com/centralit/controller/ColaboradorController.java | 2 +- cit-tabelas-corp-web/src/main/java/br/com/centralit/controller/PessoaController.java | 13 ++++++++++++- cit-tabelas-corp-web/src/main/webapp/assets/js/angular/custom/repository/ColaboradorRepository.js | 3 ++- cit-tabelas-corp-web/src/main/webapp/assets/js/angular/custom/repository/PessoaRepository.js | 6 +++++- 16 files changed, 127 insertions(+), 9 deletions(-) diff --git a/cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/ColaboradorDao.java b/cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/ColaboradorDao.java index 2c7fd46..0cec37b 100644 --- a/cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/ColaboradorDao.java +++ b/cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/ColaboradorDao.java @@ -141,4 +141,11 @@ public interface ColaboradorDao extends CitGenericDAO { */ Collection findPessoaColaboradorUsuarioPorNome(String nome); + /** + * Método responsável por obter permissão para assinatura de documento + * @author rogerio.cassimiro + * @param idUsuario + * @return {@link Boolean} + */ + boolean getPermissaoAssinaturaDocumento(Long idUsuario); } diff --git a/cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/PessoaDao.java b/cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/PessoaDao.java index 7e38b8d..45bb714 100644 --- a/cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/PessoaDao.java +++ b/cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/PessoaDao.java @@ -39,5 +39,5 @@ public interface PessoaDao extends CitGenericDAO{ List findByUsuario(Pessoa pessoa); Pessoa buscaPessoaPorUsuarioId(Long idUsuario); - + } diff --git a/cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/TerceirizadoDao.java b/cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/TerceirizadoDao.java index d7e66ee..5b0c88f 100644 --- a/cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/TerceirizadoDao.java +++ b/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; */ public interface TerceirizadoDao extends CitGenericDAO { + /** + * Método responsável por obter permissão para assinatura de documento + * @author rogerio.cassimiro + * @param idUsuario + * @return {@link Boolean} + */ + boolean getPermissaoAssinaturaDocumento(Long idUsuario); } diff --git a/cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/impl/ColaboradorDaoHibernate.java b/cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/impl/ColaboradorDaoHibernate.java index 5acd0d9..25bbc18 100644 --- a/cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/impl/ColaboradorDaoHibernate.java +++ b/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; import br.com.centralit.framework.dao.arquitetura.SearchSeven; import br.com.centralit.framework.model.Dominio; import br.com.centralit.framework.model.Usuario; +import br.com.centralit.framework.util.UtilObjeto; import com.googlecode.genericdao.search.Sort; @@ -183,4 +184,19 @@ public class ColaboradorDaoHibernate extends CitGenericDAOImpl implements Colabo return this.search(search, Colaborador.class); } + + /** + * Método responsável por obter permissão para assinatura de documento + * @author rogerio.cassimiro + * @param idUsuario + * @return {@link Boolean} + */ + @Override + public boolean getPermissaoAssinaturaDocumento(Long idUsuario) { + SearchSeven searchSeven = new SearchSeven(); + searchSeven.addFilterEqual("pessoa.usuario.id", idUsuario); + searchSeven.addFilterEqual("classeParceiro.dominioTipoParceiro.codigo", Dominio.TIPO_PARCEIRO_COLABORADOR_SERVIDOR); + searchSeven.addFilterNotEmpty("funcao.id"); + return UtilObjeto.isReferencia(this.searchUnique(searchSeven)); + } } diff --git a/cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/impl/PessoaDaoHibernate.java b/cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/impl/PessoaDaoHibernate.java index 8a52e65..252124a 100644 --- a/cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/impl/PessoaDaoHibernate.java +++ b/cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/impl/PessoaDaoHibernate.java @@ -9,6 +9,8 @@ import org.springframework.stereotype.Repository; import br.com.centralit.api.dao.PessoaDao; import br.com.centralit.api.model.Pessoa; import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl; +import br.com.centralit.framework.dao.arquitetura.SearchSeven; +import br.com.centralit.framework.util.UtilObjeto; /** *

diff --git a/cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/impl/TerceirizadoDaoHibernate.java b/cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/impl/TerceirizadoDaoHibernate.java index db2e41e..e0932a1 100644 --- a/cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/impl/TerceirizadoDaoHibernate.java +++ b/cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/impl/TerceirizadoDaoHibernate.java @@ -5,6 +5,9 @@ import org.springframework.stereotype.Repository; import br.com.centralit.api.dao.TerceirizadoDao; import br.com.centralit.api.model.Terceirizado; import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl; +import br.com.centralit.framework.dao.arquitetura.SearchSeven; +import br.com.centralit.framework.model.Dominio; +import br.com.centralit.framework.util.UtilObjeto; /** @@ -40,4 +43,18 @@ public class TerceirizadoDaoHibernate extends CitGenericDAOImpl implements Terce super(Terceirizado.class); } + /** + * Método responsável por obter permissão para assinatura de documento + * @author rogerio.cassimiro + * @param idUsuario + * @return {@link Boolean} + */ + @Override + public boolean getPermissaoAssinaturaDocumento(Long idUsuario) { + SearchSeven searchSeven = new SearchSeven(); + searchSeven.addFilterEqual("pessoa.usuario.id", idUsuario); + searchSeven.addFilterEqual("classeParceiro.dominioTipoParceiro.codigo", Dominio.TIPO_PARCEIRO_TERCEIRIZADO); + searchSeven.addFilterNotEmpty("funcao.id"); + return UtilObjeto.isReferencia(this.searchUnique(searchSeven)); + } } diff --git a/cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/ColaboradorService.java b/cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/ColaboradorService.java index cae84d4..7a759bb 100644 --- a/cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/ColaboradorService.java +++ b/cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/ColaboradorService.java @@ -141,5 +141,11 @@ public interface ColaboradorService extends GenericService { */ Collection findPessoaColaboradorUsuarioPorNome(String nome); + /** + * Método responsável por obter permissão para assinatura de documento + * @author rogerio.cassimiro + * @return {@link Boolean} + */ + boolean getPermissaoAssinaturaDocumento(); } diff --git a/cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/PessoaService.java b/cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/PessoaService.java index 60e959c..cf45151 100644 --- a/cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/PessoaService.java +++ b/cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/PessoaService.java @@ -2,9 +2,6 @@ package br.com.centralit.api.service; import java.util.Collection; -import org.springframework.security.access.annotation.Secured; -import org.springframework.security.access.prepost.PreAuthorize; - import br.com.centralit.api.model.Colaborador; import br.com.centralit.api.model.Pessoa; import br.com.centralit.api.viewHelper.PessoaVH; @@ -302,4 +299,11 @@ public interface PessoaService extends GenericService { boolean removeTerceirizado(Long id); Pessoa buscaPessoaPorUsuarioId(Long idUsuario); + + /** + * Método responsável por obter permissão para assinatura de documento + * @author rogerio.cassimiro + * @return {@link Boolean} + */ + boolean getPermissaoAssinaturaDocumento(); } \ No newline at end of file diff --git a/cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/TerceirizadoService.java b/cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/TerceirizadoService.java index eeab266..cd02359 100644 --- a/cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/TerceirizadoService.java +++ b/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; */ public interface TerceirizadoService extends GenericService { + /** + * Método responsável por obter permissão para assinatura de documento + * @author rogerio.cassimiro + * @return {@link Boolean} + */ + boolean getPermissaoAssinaturaDocumento(); + } diff --git a/cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/impl/ColaboradorServiceImpl.java b/cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/impl/ColaboradorServiceImpl.java index 5240258..de233ce 100644 --- a/cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/impl/ColaboradorServiceImpl.java +++ b/cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/impl/ColaboradorServiceImpl.java @@ -4,6 +4,7 @@ import java.util.Collection; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.stereotype.Service; import org.springframework.validation.Validator; @@ -195,5 +196,16 @@ public class ColaboradorServiceImpl extends GenericServiceImpl implemen return this.pessoaDao.buscaPessoaPorUsuarioId(idUsuario); } + + /** + * Método responsável por obter permissão para assinatura de documento + * @author rogerio.cassimiro + * @return {@link Boolean} + */ + @Override + public boolean getPermissaoAssinaturaDocumento() { + if(this.colaboradorService.getPermissaoAssinaturaDocumento()) + return this.terceirizadoService.getPermissaoAssinaturaDocumento(); + return Boolean.FALSE; + } } diff --git a/cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/impl/TerceirizadoServiceImp.java b/cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/impl/TerceirizadoServiceImp.java index 42f9805..d396be2 100644 --- a/cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/impl/TerceirizadoServiceImp.java +++ b/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; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.stereotype.Service; import org.springframework.validation.Validator; @@ -10,6 +11,7 @@ import br.com.centralit.api.model.Terceirizado; import br.com.centralit.api.service.ClasseParceiroService; import br.com.centralit.api.service.TerceirizadoService; import br.com.centralit.framework.model.Dominio; +import br.com.centralit.framework.model.Usuario; import br.com.centralit.framework.service.arquitetura.GenericServiceImpl; @@ -36,7 +38,6 @@ import br.com.centralit.framework.service.arquitetura.GenericServiceImpl; @Service("terceirizadoService") public class TerceirizadoServiceImp extends GenericServiceImpl implements TerceirizadoService { - @SuppressWarnings("unused") private TerceirizadoDao terceirizadoDao; /** Atributo classeParceiroService. */ @@ -68,5 +69,16 @@ public class TerceirizadoServiceImp extends GenericServiceImpl { return responseBody; } - + } diff --git a/cit-tabelas-corp-web/src/main/java/br/com/centralit/controller/PessoaController.java b/cit-tabelas-corp-web/src/main/java/br/com/centralit/controller/PessoaController.java index 1c30b2c..29a6690 100644 --- a/cit-tabelas-corp-web/src/main/java/br/com/centralit/controller/PessoaController.java +++ b/cit-tabelas-corp-web/src/main/java/br/com/centralit/controller/PessoaController.java @@ -18,7 +18,6 @@ import br.com.centralit.api.viewHelper.PessoaVH; import br.com.centralit.framework.controller.GenericController; import br.com.centralit.framework.json.ResponseBodyWrapper; import br.com.centralit.framework.json.Views; -import br.com.centralit.framework.json.Views.GenericView; /** *

@@ -449,6 +448,18 @@ public class PessoaController extends GenericController { return responseBody; } + + /** + * Método responsável por obter permissão para assinatura de documento + * @author rogerio.cassimiro + * @return {@link Boolean} + */ + @RequestMapping(value = "/getPermissaoAssinaturaDocumento", method = RequestMethod.GET) + @ResponseBody + public ResponseBodyWrapper getPermissaoAssinaturaDocumento() { + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(this.getPessoaService().getPermissaoAssinaturaDocumento(), this.getEditView()); + return responseBody; + } @Override public Class getAutoCompleteView() { diff --git a/cit-tabelas-corp-web/src/main/webapp/assets/js/angular/custom/repository/ColaboradorRepository.js b/cit-tabelas-corp-web/src/main/webapp/assets/js/angular/custom/repository/ColaboradorRepository.js index 01abe5f..8ebc540 100644 --- a/cit-tabelas-corp-web/src/main/webapp/assets/js/angular/custom/repository/ColaboradorRepository.js +++ b/cit-tabelas-corp-web/src/main/webapp/assets/js/angular/custom/repository/ColaboradorRepository.js @@ -11,7 +11,8 @@ citApp.factory('ColaboradorRepository', ['RestangularTabelasCorp', 'AbstractRepo this.findPorNomeAndOrganizacao = function(nome, idOrganizacao) { return restangularTabelasCorp.one('rest/colaborador').getList("findPorNomeAndOrganizacao", {"nome": nome, "idOrganizacao" : idOrganizacao}).then(); - }; + }; + } AbstractRepository.extend(ColaboradorRepository); diff --git a/cit-tabelas-corp-web/src/main/webapp/assets/js/angular/custom/repository/PessoaRepository.js b/cit-tabelas-corp-web/src/main/webapp/assets/js/angular/custom/repository/PessoaRepository.js index 3a57a50..b008ae4 100644 --- a/cit-tabelas-corp-web/src/main/webapp/assets/js/angular/custom/repository/PessoaRepository.js +++ b/cit-tabelas-corp-web/src/main/webapp/assets/js/angular/custom/repository/PessoaRepository.js @@ -80,7 +80,11 @@ citApp.factory('PessoaRepository', ['RestangularTabelasCorp','AbstractRepository this.findPessoaColaboradorUsuarioPorNome = function(nome) { return restangularTabelasCorp.one('rest/pessoa').getList("findPessoaColaboradorUsuarioPorNome", {"nome": nome}).then(); }; - + + this.getPermissaoAssinaturaDocumento = function() { + return restangularTabelasCorp.one(this.route + "/getPermissaoAssinaturaDocumento").get().then(); + }; + } AbstractRepository.extend(PessoaRepository); -- libgit2 0.21.2