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,4 +141,11 @@ public interface ColaboradorDao extends CitGenericDAO {
141 */ 141 */
142 Collection<Colaborador> findPessoaColaboradorUsuarioPorNome(String nome); 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,5 +39,5 @@ public interface PessoaDao extends CitGenericDAO{
39 List<Pessoa> findByUsuario(Pessoa pessoa); 39 List<Pessoa> findByUsuario(Pessoa pessoa);
40 40
41 Pessoa buscaPessoaPorUsuarioId(Long idUsuario); 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,4 +25,11 @@ import br.com.centralit.framework.dao.arquitetura.CitGenericDAO;
25 */ 25 */
26 public interface TerceirizadoDao extends CitGenericDAO { 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,6 +10,7 @@ import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl;
10 import br.com.centralit.framework.dao.arquitetura.SearchSeven; 10 import br.com.centralit.framework.dao.arquitetura.SearchSeven;
11 import br.com.centralit.framework.model.Dominio; 11 import br.com.centralit.framework.model.Dominio;
12 import br.com.centralit.framework.model.Usuario; 12 import br.com.centralit.framework.model.Usuario;
  13 +import br.com.centralit.framework.util.UtilObjeto;
13 14
14 import com.googlecode.genericdao.search.Sort; 15 import com.googlecode.genericdao.search.Sort;
15 16
@@ -183,4 +184,19 @@ public class ColaboradorDaoHibernate extends CitGenericDAOImpl implements Colabo @@ -183,4 +184,19 @@ public class ColaboradorDaoHibernate extends CitGenericDAOImpl implements Colabo
183 184
184 return this.search(search, Colaborador.class); 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,6 +9,8 @@ import org.springframework.stereotype.Repository;
9 import br.com.centralit.api.dao.PessoaDao; 9 import br.com.centralit.api.dao.PessoaDao;
10 import br.com.centralit.api.model.Pessoa; 10 import br.com.centralit.api.model.Pessoa;
11 import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl; 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 * <p> 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,6 +5,9 @@ import org.springframework.stereotype.Repository;
5 import br.com.centralit.api.dao.TerceirizadoDao; 5 import br.com.centralit.api.dao.TerceirizadoDao;
6 import br.com.centralit.api.model.Terceirizado; 6 import br.com.centralit.api.model.Terceirizado;
7 import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl; 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,4 +43,18 @@ public class TerceirizadoDaoHibernate extends CitGenericDAOImpl implements Terce
40 super(Terceirizado.class); 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,5 +141,11 @@ public interface ColaboradorService extends GenericService&lt;Colaborador, Long&gt; {
141 */ 141 */
142 Collection<Colaborador> findPessoaColaboradorUsuarioPorNome(String nome); 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,9 +2,6 @@ package br.com.centralit.api.service;
2 2
3 import java.util.Collection; 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 import br.com.centralit.api.model.Colaborador; 5 import br.com.centralit.api.model.Colaborador;
9 import br.com.centralit.api.model.Pessoa; 6 import br.com.centralit.api.model.Pessoa;
10 import br.com.centralit.api.viewHelper.PessoaVH; 7 import br.com.centralit.api.viewHelper.PessoaVH;
@@ -302,4 +299,11 @@ public interface PessoaService extends GenericService&lt;Pessoa, Long&gt; { @@ -302,4 +299,11 @@ public interface PessoaService extends GenericService&lt;Pessoa, Long&gt; {
302 boolean removeTerceirizado(Long id); 299 boolean removeTerceirizado(Long id);
303 300
304 Pessoa buscaPessoaPorUsuarioId(Long idUsuario); 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 \ No newline at end of file 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,4 +26,11 @@ import br.com.centralit.framework.service.arquitetura.GenericService;
26 */ 26 */
27 public interface TerceirizadoService extends GenericService<Terceirizado, Long> { 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,6 +4,7 @@ import java.util.Collection;
4 4
5 import org.springframework.beans.factory.annotation.Autowired; 5 import org.springframework.beans.factory.annotation.Autowired;
6 import org.springframework.beans.factory.annotation.Qualifier; 6 import org.springframework.beans.factory.annotation.Qualifier;
  7 +import org.springframework.security.core.context.SecurityContextHolder;
7 import org.springframework.stereotype.Service; 8 import org.springframework.stereotype.Service;
8 import org.springframework.validation.Validator; 9 import org.springframework.validation.Validator;
9 10
@@ -195,5 +196,16 @@ public class ColaboradorServiceImpl extends GenericServiceImpl&lt;Colaborador, Long @@ -195,5 +196,16 @@ public class ColaboradorServiceImpl extends GenericServiceImpl&lt;Colaborador, Long
195 196
196 return this.colaboradorDao.findPessoaColaboradorUsuarioPorNome(nome); 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,4 +1256,16 @@ public class PessoaServiceImpl extends GenericServiceImpl&lt;Pessoa, Long&gt; implemen
1256 return this.pessoaDao.buscaPessoaPorUsuarioId(idUsuario); 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,6 +2,7 @@ package br.com.centralit.api.service.impl;
2 2
3 import org.springframework.beans.factory.annotation.Autowired; 3 import org.springframework.beans.factory.annotation.Autowired;
4 import org.springframework.beans.factory.annotation.Qualifier; 4 import org.springframework.beans.factory.annotation.Qualifier;
  5 +import org.springframework.security.core.context.SecurityContextHolder;
5 import org.springframework.stereotype.Service; 6 import org.springframework.stereotype.Service;
6 import org.springframework.validation.Validator; 7 import org.springframework.validation.Validator;
7 8
@@ -10,6 +11,7 @@ import br.com.centralit.api.model.Terceirizado; @@ -10,6 +11,7 @@ import br.com.centralit.api.model.Terceirizado;
10 import br.com.centralit.api.service.ClasseParceiroService; 11 import br.com.centralit.api.service.ClasseParceiroService;
11 import br.com.centralit.api.service.TerceirizadoService; 12 import br.com.centralit.api.service.TerceirizadoService;
12 import br.com.centralit.framework.model.Dominio; 13 import br.com.centralit.framework.model.Dominio;
  14 +import br.com.centralit.framework.model.Usuario;
13 import br.com.centralit.framework.service.arquitetura.GenericServiceImpl; 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,7 +38,6 @@ import br.com.centralit.framework.service.arquitetura.GenericServiceImpl;
36 @Service("terceirizadoService") 38 @Service("terceirizadoService")
37 public class TerceirizadoServiceImp extends GenericServiceImpl<Terceirizado, Long> implements TerceirizadoService { 39 public class TerceirizadoServiceImp extends GenericServiceImpl<Terceirizado, Long> implements TerceirizadoService {
38 40
39 - @SuppressWarnings("unused")  
40 private TerceirizadoDao terceirizadoDao; 41 private TerceirizadoDao terceirizadoDao;
41 42
42 /** Atributo classeParceiroService. */ 43 /** Atributo classeParceiroService. */
@@ -68,5 +69,16 @@ public class TerceirizadoServiceImp extends GenericServiceImpl&lt;Terceirizado, Lon @@ -68,5 +69,16 @@ public class TerceirizadoServiceImp extends GenericServiceImpl&lt;Terceirizado, Lon
68 69
69 return super.save(entity); 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,5 +93,5 @@ public class ColaboradorController extends GenericController&lt;Colaborador&gt; {
93 93
94 return responseBody; 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,7 +18,6 @@ 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.json.Views.GenericView;  
22 21
23 /** 22 /**
24 * <p> 23 * <p>
@@ -449,6 +448,18 @@ public class PessoaController extends GenericController&lt;Pessoa&gt; { @@ -449,6 +448,18 @@ public class PessoaController extends GenericController&lt;Pessoa&gt; {
449 448
450 return responseBody; 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 @Override 464 @Override
454 public Class<Views.PessoaAutoCompeteView> getAutoCompleteView() { 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,7 +11,8 @@ citApp.factory(&#39;ColaboradorRepository&#39;, [&#39;RestangularTabelasCorp&#39;, &#39;AbstractRepo
11 11
12 this.findPorNomeAndOrganizacao = function(nome, idOrganizacao) { 12 this.findPorNomeAndOrganizacao = function(nome, idOrganizacao) {
13 return restangularTabelasCorp.one('rest/colaborador').getList("findPorNomeAndOrganizacao", {"nome": nome, "idOrganizacao" : idOrganizacao}).then(); 13 return restangularTabelasCorp.one('rest/colaborador').getList("findPorNomeAndOrganizacao", {"nome": nome, "idOrganizacao" : idOrganizacao}).then();
14 - }; 14 + };
  15 +
15 } 16 }
16 17
17 AbstractRepository.extend(ColaboradorRepository); 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,7 +80,11 @@ citApp.factory(&#39;PessoaRepository&#39;, [&#39;RestangularTabelasCorp&#39;,&#39;AbstractRepository
80 this.findPessoaColaboradorUsuarioPorNome = function(nome) { 80 this.findPessoaColaboradorUsuarioPorNome = function(nome) {
81 return restangularTabelasCorp.one('rest/pessoa').getList("findPessoaColaboradorUsuarioPorNome", {"nome": nome}).then(); 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 AbstractRepository.extend(PessoaRepository); 90 AbstractRepository.extend(PessoaRepository);