diff --git a/cit-ecm-api/src/main/java/br/com/centralit/api/dao/TarjaAssinaturaDao.java b/cit-ecm-api/src/main/java/br/com/centralit/api/dao/TarjaAssinaturaDao.java
index 1ec5cde..d33f365 100644
--- a/cit-ecm-api/src/main/java/br/com/centralit/api/dao/TarjaAssinaturaDao.java
+++ b/cit-ecm-api/src/main/java/br/com/centralit/api/dao/TarjaAssinaturaDao.java
@@ -1,6 +1,8 @@
package br.com.centralit.api.dao;
+import br.com.centralit.api.model.TarjaAssinatura;
import br.com.centralit.framework.dao.arquitetura.CitGenericDAO;
+import br.com.centralit.framework.model.Dominio;
/**
@@ -16,4 +18,13 @@ import br.com.centralit.framework.dao.arquitetura.CitGenericDAO;
* @author ciro.junior (ciro.junior@centralit.com.br )
*
*/
-public interface TarjaAssinaturaDao extends CitGenericDAO {}
+public interface TarjaAssinaturaDao extends CitGenericDAO {
+
+ /**
+ * Método responsável por obter tarja assinatura interna
+ * @author rogerio.cassimiro
+ * @param dominio
+ * @return {@link TarjaAssinatura}
+ */
+ TarjaAssinatura getTarjaAssinaturaInterna(Dominio dominio);
+}
diff --git a/cit-ecm-api/src/main/java/br/com/centralit/api/dao/TarjaAssinaturaDaoHibernate.java b/cit-ecm-api/src/main/java/br/com/centralit/api/dao/TarjaAssinaturaDaoHibernate.java
index da88891..7880382 100644
--- a/cit-ecm-api/src/main/java/br/com/centralit/api/dao/TarjaAssinaturaDaoHibernate.java
+++ b/cit-ecm-api/src/main/java/br/com/centralit/api/dao/TarjaAssinaturaDaoHibernate.java
@@ -4,6 +4,8 @@ import org.springframework.stereotype.Repository;
import br.com.centralit.api.model.TarjaAssinatura;
import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl;
+import br.com.centralit.framework.dao.arquitetura.SearchSeven;
+import br.com.centralit.framework.model.Dominio;
/**
*
@@ -25,4 +27,16 @@ public class TarjaAssinaturaDaoHibernate extends CitGenericDAOImpl implements Ta
super(TarjaAssinatura.class);
}
+ /**
+ * Método responsável por obter tarja assinatura interna
+ * @author rogerio.cassimiro
+ * @param dominio
+ * @return {@link TarjaAssinatura}
+ */
+ @Override
+ public TarjaAssinatura getTarjaAssinaturaInterna(Dominio dominio){
+ SearchSeven searchSeven = new SearchSeven(Boolean.TRUE);
+ searchSeven.addFilterEqual("tipoAssinatura.id", dominio.getId());
+ return searchUnique(searchSeven);
+ }
}
diff --git a/cit-ecm-api/src/main/java/br/com/centralit/api/model/Assinatura.java b/cit-ecm-api/src/main/java/br/com/centralit/api/model/Assinatura.java
index edb7aa7..4420918 100644
--- a/cit-ecm-api/src/main/java/br/com/centralit/api/model/Assinatura.java
+++ b/cit-ecm-api/src/main/java/br/com/centralit/api/model/Assinatura.java
@@ -1,11 +1,13 @@
package br.com.centralit.api.model;
+import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
+import javax.persistence.OneToOne;
import javax.persistence.Transient;
import br.com.centralit.api.framework.json.ViewsEcm;
@@ -79,9 +81,24 @@ public class Assinatura extends PersistentObjectAudit {
@JsonView({ Views.DocumentoGedEdit.class, ViewsEcm.DocumentoGedEdit.class })
private Funcao funcao;
+ /** Atributo idTask. */
@Transient
private Long idTask;
+ /** Atributo password. */
+ @Transient
+ private String password;
+
+ /** Atributo conteudoTarja. */
+ @OneToOne(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
+ @JsonView({ Views.DocumentoGedEdit.class })
+ private ConteudoTarja conteudoTarja;
+
+ /** Atributo pessoa. */
+ @JsonView({ Views.DocumentoGedEdit.class, ViewsEcm.DocumentoGedEdit.class })
+ @ManyToOne(fetch = FetchType.LAZY)
+ private Pessoa pessoa;
+
/**
* Retorna o valor do atributo id
*
@@ -202,4 +219,64 @@ public class Assinatura extends PersistentObjectAudit {
this.idTask = idTask;
}
+ /**
+ * Retorna o valor do atributo conteudoTarja
+ *
+ * @return ConteudoTarja
+ */
+ public ConteudoTarja getConteudoTarja() {
+
+ return conteudoTarja;
+ }
+
+ /**
+ * Define o valor do atributo conteudoTarja
.
+ *
+ * @param conteudoTarja
+ */
+ public void setConteudoTarja(ConteudoTarja conteudoTarja) {
+
+ this.conteudoTarja = conteudoTarja;
+ }
+
+ /**
+ * Retorna o valor do atributo password
+ *
+ * @return String
+ */
+ public String getPassword() {
+
+ return password;
+ }
+
+ /**
+ * Define o valor do atributo password
.
+ *
+ * @param password
+ */
+ public void setPassword(String password) {
+
+ this.password = password;
+ }
+
+ /**
+ * Retorna o valor do atributo pessoa
+ *
+ * @return Pessoa
+ */
+ public Pessoa getPessoa() {
+
+ return pessoa;
+ }
+
+ /**
+ * Define o valor do atributo pessoa
.
+ *
+ * @param pessoa
+ */
+ public void setPessoa(Pessoa pessoa) {
+
+ this.pessoa = pessoa;
+ }
+
}
diff --git a/cit-ecm-api/src/main/java/br/com/centralit/api/model/ConteudoTarja.java b/cit-ecm-api/src/main/java/br/com/centralit/api/model/ConteudoTarja.java
new file mode 100644
index 0000000..4cac3a3
--- /dev/null
+++ b/cit-ecm-api/src/main/java/br/com/centralit/api/model/ConteudoTarja.java
@@ -0,0 +1,108 @@
+package br.com.centralit.api.model;
+
+import javax.persistence.Basic;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.Lob;
+import javax.persistence.Transient;
+
+import org.hibernate.annotations.Type;
+
+import br.com.centralit.framework.json.Views;
+
+import com.fasterxml.jackson.annotation.JsonView;
+
+/**
+ *
+ * Title:
+ *
+ *
+ * Description:
+ *
+ *
+ * @since 27/04/2016 - 08:22:01
+ * @author rogerio.cassimiro
+ *
+ */
+@Entity
+public class ConteudoTarja {
+
+ /** Atributo id. */
+ @Id
+ @GeneratedValue(strategy = GenerationType.AUTO)
+ @JsonView({ Views.GenericView.class })
+ private Long id;
+
+ @JsonView({ Views.DocumentoGedEdit.class })
+ @Transient
+ private String conteudo;
+
+ @Lob
+ @Basic(fetch = FetchType.LAZY)
+ @Type(type = "org.hibernate.type.BinaryType")
+ private byte[] conteudoCriptografado;
+
+ /**
+ * Retorna o valor do atributo id
+ *
+ * @return Long
+ */
+ public Long getId() {
+
+ return id;
+ }
+
+ /**
+ * Define o valor do atributo id
.
+ *
+ * @param id
+ */
+ public void setId(Long id) {
+
+ this.id = id;
+ }
+
+ /**
+ * Retorna o valor do atributo conteudo
+ *
+ * @return String
+ */
+ public String getConteudo() {
+
+ return conteudo;
+ }
+
+ /**
+ * Define o valor do atributo conteudo
.
+ *
+ * @param conteudo
+ */
+ public void setConteudo(String conteudo) {
+
+ this.conteudo = conteudo;
+ }
+
+ /**
+ * Retorna o valor do atributo conteudoCriptografado
+ *
+ * @return byte[]
+ */
+ public byte[] getConteudoCriptografado() {
+
+ return conteudoCriptografado;
+ }
+
+ /**
+ * Define o valor do atributo conteudoCriptografado
.
+ *
+ * @param conteudoCriptografado
+ */
+ public void setConteudoCriptografado(byte[] conteudoCriptografado) {
+
+ this.conteudoCriptografado = conteudoCriptografado;
+ }
+
+}
diff --git a/cit-ecm-api/src/main/java/br/com/centralit/api/model/DocumentoGed.java b/cit-ecm-api/src/main/java/br/com/centralit/api/model/DocumentoGed.java
index fe42102..b316613 100644
--- a/cit-ecm-api/src/main/java/br/com/centralit/api/model/DocumentoGed.java
+++ b/cit-ecm-api/src/main/java/br/com/centralit/api/model/DocumentoGed.java
@@ -244,6 +244,14 @@ public class DocumentoGed extends PersistentObjectUnidade implements Cloneable {
@JsonView({ Views.DocumentoGedEdit.class, ViewsEcm.DocumentoGedEdit.class, Views.ProcessoEdit.class })
private Collection assinaturas;
+ @OneToOne(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
+ @JsonView({ Views.DocumentoGedEdit.class })
+ private ConteudoTarja conteudoTarja;
+
+ @Transient
+ @JsonView({ Views.ProcessoEdit.class, Views.DocumentoGedEdit.class })
+ private String tresAssinaturas;
+
/**
* @return the novaVersao
*/
@@ -1022,4 +1030,44 @@ public class DocumentoGed extends PersistentObjectUnidade implements Cloneable {
this.assinaturas = assinaturas;
}
+ /**
+ * Retorna o valor do atributo conteudoTarja
+ *
+ * @return ConteudoTarja
+ */
+ public ConteudoTarja getConteudoTarja() {
+
+ return conteudoTarja;
+ }
+
+ /**
+ * Define o valor do atributo conteudoTarja
.
+ *
+ * @param conteudoTarja
+ */
+ public void setConteudoTarja(ConteudoTarja conteudoTarja) {
+
+ this.conteudoTarja = conteudoTarja;
+ }
+
+ /**
+ * Retorna o valor do atributo tresAssinaturas
+ *
+ * @return String
+ */
+ public String getTresAssinaturas() {
+
+ return tresAssinaturas;
+ }
+
+ /**
+ * Define o valor do atributo tresAssinaturas
.
+ *
+ * @param tresAssinaturas
+ */
+ public void setTresAssinaturas(String tresAssinaturas) {
+
+ this.tresAssinaturas = tresAssinaturas;
+ }
+
}
diff --git a/cit-ecm-api/src/main/java/br/com/centralit/api/model/TarjaAssinatura.java b/cit-ecm-api/src/main/java/br/com/centralit/api/model/TarjaAssinatura.java
index 1d2267f..2b7d079 100644
--- a/cit-ecm-api/src/main/java/br/com/centralit/api/model/TarjaAssinatura.java
+++ b/cit-ecm-api/src/main/java/br/com/centralit/api/model/TarjaAssinatura.java
@@ -43,6 +43,13 @@ public class TarjaAssinatura extends PersistentObjectAudit{
@OneToOne
@JsonView({ ViewsEcm.TarjaAssinaturaEditview.class })
private AnexoImagem anexoImagem;
+
+ public static String LOGO = "@logo@";
+ public static String NOME_ASSINANTE = "@nome_assinante@";
+ public static String FUNCAO_ASSINANTE = " @funcao_assinante@";
+ public static String DATA_ASSINATURA = " @data_assinatura@";
+ public static String HORA_ASSINATURA = "@hora_assinatura@";
+ public static String CODIGO_ASSINATURA = "@codigo_assinatura@";
public Long getId() {
diff --git a/cit-ecm-api/src/main/java/br/com/centralit/api/service/DocumentoGedService.java b/cit-ecm-api/src/main/java/br/com/centralit/api/service/DocumentoGedService.java
index 25e62a3..3bf69f1 100644
--- a/cit-ecm-api/src/main/java/br/com/centralit/api/service/DocumentoGedService.java
+++ b/cit-ecm-api/src/main/java/br/com/centralit/api/service/DocumentoGedService.java
@@ -78,4 +78,10 @@ public interface DocumentoGedService extends GenericService
*/
Collection atualizarSigiloDocumentos(Collection listaDocumentos);
+ /**
+ * Método responsável por montar as três primeiras assinaturas por documento para apresentação no tooltip da tela de execução de tarefa
+ * @author rogerio.cassimiro
+ * @param documentos
+ */
+ void montarTresAssinantesPorDocumento(Collection documentos);
}
diff --git a/cit-ecm-api/src/main/java/br/com/centralit/api/service/TarjaAssinaturaService.java b/cit-ecm-api/src/main/java/br/com/centralit/api/service/TarjaAssinaturaService.java
index 21f7a63..b65afc3 100644
--- a/cit-ecm-api/src/main/java/br/com/centralit/api/service/TarjaAssinaturaService.java
+++ b/cit-ecm-api/src/main/java/br/com/centralit/api/service/TarjaAssinaturaService.java
@@ -2,6 +2,7 @@ package br.com.centralit.api.service;
import org.springframework.web.multipart.MultipartFile;
+import br.com.centralit.api.model.Assinatura;
import br.com.centralit.api.model.TarjaAssinatura;
import br.com.centralit.framework.service.arquitetura.GenericService;
@@ -54,4 +55,18 @@ public interface TarjaAssinaturaService extends GenericService impl
documentoGed.setConteudo(this.gedFileService.doOcr(anexo));
- this.solrService.addDocumento(documentoGed);
+// this.solrService.addDocumento(documentoGed);
anexo.setDocumentoGed(documentoGed);
diff --git a/cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/AssinaturaServiceImpl.java b/cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/AssinaturaServiceImpl.java
index 33afc77..a4ee2fa 100644
--- a/cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/AssinaturaServiceImpl.java
+++ b/cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/AssinaturaServiceImpl.java
@@ -1,6 +1,7 @@
package br.com.centralit.api.service.impl;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Service;
@@ -11,10 +12,16 @@ import br.com.centralit.api.service.DocumentoGedService;
import br.com.centralit.api.service.DominioService;
import br.com.centralit.api.service.FuncaoService;
import br.com.centralit.api.service.HistoricoAlteracaoProcessoService;
+import br.com.centralit.api.service.PessoaService;
+import br.com.centralit.api.service.TarjaAssinaturaService;
import br.com.centralit.api.service.UsuarioService;
+import br.com.centralit.framework.exception.BusinessException;
+import br.com.centralit.framework.exception.CodigoErro;
import br.com.centralit.framework.model.Dominio;
import br.com.centralit.framework.model.Usuario;
import br.com.centralit.framework.service.arquitetura.GenericServiceImpl;
+import br.com.centralit.framework.util.UtilObjeto;
+import br.com.centralit.framework.util.UtilString;
/**
@@ -44,9 +51,18 @@ public class AssinaturaServiceImpl extends GenericServiceImpl
private FuncaoService funcaoService;
@Autowired
+ private PessoaService pessoaService;
+
+ @Autowired
private HistoricoAlteracaoProcessoService historicoAlteracaoProcessoService;
@Autowired
+ private TarjaAssinaturaService tarjaAssinaturaService;
+
+ @Value("${metodo.autenticacao.ldap}")
+ private String ldap;
+
+ @Autowired
public AssinaturaServiceImpl( AssinaturaDao assinaturaDao) {
this.dao = assinaturaDao;
}
@@ -56,14 +72,48 @@ public class AssinaturaServiceImpl extends GenericServiceImpl
*/
@Override
public Assinatura saveAssinaturaInterna(Assinatura assinatura) {
+ Usuario usuario = (Usuario) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
+ this.validarSenha(assinatura.getPassword(), usuario);
assinatura.setDocumentoGed(this.documentoGedService.getReference(assinatura.getDocumentoGed().getId()));
- assinatura.setUsuario((Usuario) SecurityContextHolder.getContext().getAuthentication().getPrincipal());
+ assinatura.setUsuario(usuario);
+ assinatura.setPessoa(this.pessoaService.getReference(assinatura.getPessoa().getId()));
assinatura.setTipoAssinatura(dominioService.findByChaveAndCodigo(Dominio.TIPO_ASSINATURA, Dominio.TIPO_ASSINATURA_INTERNA));
assinatura.setFuncao(funcaoService.getReference(assinatura.getFuncao().getId()));
historicoAlteracaoProcessoService.gerarHistoricoAssinatura(assinatura);
+ salvarTarjaAssinaturaPorTipoDocumento(assinatura);
return super.save(assinatura);
}
+
+ private void salvarTarjaAssinaturaPorTipoDocumento(Assinatura assinatura) {
+ //OnLine
+ if(assinatura.getDocumentoGed().getFormaCriacao().getCodigo() == 1){
+ //TODO ON LINE
+ }else {
+ this.tarjaAssinaturaService.gerarAssinaturaInternaUsuario(assinatura);
+ }
+ }
+
+ /**
+ * Método responsável por validar senha para assinar o documento
+ * @author rogerio.cassimiro
+ * @param password
+ * @param usuario
+ */
+ private void validarSenha(String password, Usuario usuario) {
+
+ if(!UtilString.isNullOrEmpty(ldap) && ldap.equals("false")) {
+ if(UtilString.isNullOrEmpty(password))
+ throw new BusinessException("ECM.VALIDACAO.SENHA_ASSINATURA", CodigoErro.REGRA_NEGOCIO.getValue(), "");
+
+ if(!UtilObjeto.isReferencia(this.usuarioService.loadUserByUsernamePasswordMobile(usuario.getUsername(), password)))
+ throw new BusinessException("ECM.VALIDACAO.SENHA_ASSINATURA_INVALIDA", CodigoErro.REGRA_NEGOCIO.getValue(), "");
+
+ } else {
+ //TODO LDAP validação
+ }
+ }
+
/**
* Método responsável por validar se o usuário já teve assinatura anterior para o documento informado
* @author rogerio.cassimiro
diff --git a/cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/DocumentoGedServiceImpl.java b/cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/DocumentoGedServiceImpl.java
index 09fb11c..c2e77e7 100644
--- a/cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/DocumentoGedServiceImpl.java
+++ b/cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/DocumentoGedServiceImpl.java
@@ -22,6 +22,7 @@ import org.springframework.web.multipart.MultipartFile;
import br.com.centralit.api.dao.DocumentoGedDao;
import br.com.centralit.api.model.AnexoGed;
+import br.com.centralit.api.model.Assinatura;
import br.com.centralit.api.model.DocumentoGed;
import br.com.centralit.api.model.InteressadoDocumento;
import br.com.centralit.api.model.Processo;
@@ -230,7 +231,7 @@ public class DocumentoGedServiceImpl extends GenericServiceImpl documentos) {
+
+ if(!UtilColecao.isVazio(documentos)){
+ for (DocumentoGed documentoGed : documentos) {
+ if(!UtilColecao.isVazio(documentoGed.getAssinaturas())){
+ int maxAssinatura = 0;
+ StringBuilder tresAssinaturas = new StringBuilder();
+ for (Assinatura assinatura : documentoGed.getAssinaturas()) {
+ if(++maxAssinatura < 4)
+ tresAssinaturas.append(UtilObjeto.isReferencia(assinatura.getPessoa()) ? assinatura.getPessoa().getNome() : "").append(" - ").append(assinatura.getFuncao().getNome()).append(". ");
+ else {
+ tresAssinaturas.append("...");
+ break;
+ }
+ }
+ documentoGed.setTresAssinaturas(tresAssinaturas.toString());
+ }
+ }
+ }
+ }
}
diff --git a/cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/HistoricoAlteracaoProcessoServiceImpl.java b/cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/HistoricoAlteracaoProcessoServiceImpl.java
index af45e84..bcfef5f 100644
--- a/cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/HistoricoAlteracaoProcessoServiceImpl.java
+++ b/cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/HistoricoAlteracaoProcessoServiceImpl.java
@@ -213,7 +213,7 @@ public class HistoricoAlteracaoProcessoServiceImpl extends GenericServiceImpl impl
if (!UtilObjeto.isReferencia(processo.getSigilo())) {
- this.solrService.addProcesso(processo);
+// this.solrService.addProcesso(processo);
}
} catch (final Exception e) {
@@ -709,6 +708,8 @@ public class ProcessoServiceImpl extends GenericServiceImpl impl
Processo processo = super.getReference(id);
processo.setDocumentos(this.documentoGedService.findByIdProcessoUltimaVersao(id));
+
+ this.documentoGedService.montarTresAssinantesPorDocumento(processo.getDocumentos());
return processo;
}
diff --git a/cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/TarjaAssinaturaServiceImpl.java b/cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/TarjaAssinaturaServiceImpl.java
index 98db3b2..160dfea 100644
--- a/cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/TarjaAssinaturaServiceImpl.java
+++ b/cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/TarjaAssinaturaServiceImpl.java
@@ -9,12 +9,17 @@ import org.springframework.stereotype.Service;
import org.springframework.validation.Validator;
import org.springframework.web.multipart.MultipartFile;
+import com.ibm.icu.util.Calendar;
+
import br.com.centralit.api.dao.TarjaAssinaturaDao;
+import br.com.centralit.api.model.Assinatura;
import br.com.centralit.api.model.TarjaAssinatura;
import br.com.centralit.api.service.AnexoImagemService;
+import br.com.centralit.api.service.DominioService;
import br.com.centralit.api.service.OrganizacaoService;
import br.com.centralit.api.service.TarjaAssinaturaService;
import br.com.centralit.framework.model.AnexoImagem;
+import br.com.centralit.framework.model.Dominio;
import br.com.centralit.framework.model.Organizacao;
import br.com.centralit.framework.service.arquitetura.GenericServiceImpl;
@@ -43,6 +48,9 @@ public class TarjaAssinaturaServiceImpl extends GenericServiceImpl {
return ViewsEcm.DocumentoGedList.class;
}
+
+ @RequestMapping(value = "/{id}", method = RequestMethod.GET)
+ @ResponseBody
+ public ResponseBodyWrapper getObject(@PathVariable("id") Long id) {
+ ResultResponseVH resultResponseVH = new ResultResponseVH(genericService.getReference(id));
+ List list = new ArrayList();
+ list.add(resultResponseVH.getPayload());
+ this.documentoGedService.montarTresAssinantesPorDocumento(list);
+ ResponseBodyWrapper responseBody = new ResponseBodyWrapper(resultResponseVH, this.getEditView());
+ return responseBody;
+ }
}
diff --git a/cit-ecm-web/src/main/java/br/com/centralit/controller/TarjaAssinaturaController.java b/cit-ecm-web/src/main/java/br/com/centralit/controller/TarjaAssinaturaController.java
index e8779c5..2dc1255 100644
--- a/cit-ecm-web/src/main/java/br/com/centralit/controller/TarjaAssinaturaController.java
+++ b/cit-ecm-web/src/main/java/br/com/centralit/controller/TarjaAssinaturaController.java
@@ -16,6 +16,7 @@ import br.com.centralit.api.model.TarjaAssinatura;
import br.com.centralit.api.service.TarjaAssinaturaService;
import br.com.centralit.framework.controller.GenericController;
import br.com.centralit.framework.json.ResponseBodyWrapper;
+import br.com.centralit.framework.view.ResultResponseVH;
@Controller
@RequestMapping("/rest/tarjaAssinatura")
@@ -61,5 +62,13 @@ public class TarjaAssinaturaController extends GenericController resultResponseVH = new ResultResponseVH(tarjaAssinaturaService.getTarjaAssinaturaInterna());
+ ResponseBodyWrapper responseBody = new ResponseBodyWrapper(resultResponseVH, this.getEditView());
+ return responseBody;
+ }
}
diff --git a/cit-ecm-web/src/main/java/br/com/centralit/listener/StartupListenerEcm.java b/cit-ecm-web/src/main/java/br/com/centralit/listener/StartupListenerEcm.java
index e4b8d2c..f46ddf7 100644
--- a/cit-ecm-web/src/main/java/br/com/centralit/listener/StartupListenerEcm.java
+++ b/cit-ecm-web/src/main/java/br/com/centralit/listener/StartupListenerEcm.java
@@ -489,8 +489,8 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen
internacionalizacaoList.add(new Internacionalizacao("ECM.VALIDACAO.GRUPO_PADRAO_EM_OUTRA_UNIDADE", "O grupo selecionado como padrão está sendo usado como grupo padrão da unidade ", dominio, modulo));
internacionalizacaoList.add(new Internacionalizacao("ECM.VALIDACAO.VALIDAR_ALTERACAO_NIVEL_ACESSO_OUTRAS_UNIDADES", "Não é possível alterar o nível de acesso para sigiloso, pois o processo foi enviado para outra unidade.", dominio, modulo));
internacionalizacaoList.add(new Internacionalizacao("ECM.VALIDACAO.VALIDAR_NIVEL_ACESSO", "Não é possível incluir documento com o nível de acesso menor que o do processo.", dominio, modulo));
-
internacionalizacaoList.add(new Internacionalizacao("ECM.VALIDACAO.SENHA_ASSINATURA", "Informe sua senha para assinar!", dominio, modulo));
+ internacionalizacaoList.add(new Internacionalizacao("ECM.VALIDACAO.SENHA_ASSINATURA_INVALIDA", "Senha do usuário inválida!", dominio, modulo));
}
/**
diff --git a/cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/AssinarDocumentoController.js b/cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/AssinarDocumentoController.js
index d82963b..0fc80e1 100644
--- a/cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/AssinarDocumentoController.js
+++ b/cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/AssinarDocumentoController.js
@@ -1,8 +1,8 @@
'use strict';
-citApp.controller('AssinarDocumentoController', [ '$scope', '$translate', 'GerenciarProcessoRepository', 'DocumentoGedRepository', 'HistoricoAlteracaoProcessoRepository', 'PessoaRepository', '$q', 'AssinaturaRepository',
- function AssinarDocumentoController($scope, $translate, GerenciarProcessoRepository, DocumentoGedRepository, HistoricoAlteracaoProcessoRepository, PessoaRepository, $q, AssinaturaRepository) {
+citApp.controller('AssinarDocumentoController', [ '$scope', '$translate', 'GerenciarProcessoRepository', 'DocumentoGedRepository', 'HistoricoAlteracaoProcessoRepository', '$q', 'AssinaturaRepository', 'TarjaAssinaturaRepository', '$timeout',
+ function AssinarDocumentoController($scope, $translate, GerenciarProcessoRepository, DocumentoGedRepository, HistoricoAlteracaoProcessoRepository, $q, AssinaturaRepository, TarjaAssinaturaRepository, $timeout) {
/*
* Abre panel assinar documento
@@ -26,7 +26,7 @@ citApp.controller('AssinarDocumentoController', [ '$scope', '$translate', 'Geren
_exibirNenhumaAssinatura();
_validarAssinaturaPorUsuario(documento.id).then(function(exibirIncluirAssinatura){
$scope.exibirIncluirAssinatura = !(exibirIncluirAssinatura == true);
- //_obterPermissaoAssinaturaDocumentoExterno();
+ $scope.exibirDocJaAssinado = !$scope.exibirIncluirAssinatura;
});
});
}
@@ -38,7 +38,7 @@ citApp.controller('AssinarDocumentoController', [ '$scope', '$translate', 'Geren
_validarAssinaturaPorUsuario(documento.id).then(function(exibirIncluirAssinatura){
$scope.exibirIncluirAssinatura = !(exibirIncluirAssinatura == true);
$scope.exibirDocJaAssinado = !$scope.exibirIncluirAssinatura;
- //_obterPermissaoAssinaturaDocumentoExterno();
+ _getTarjaAssinaturaInterna();
});
});
};
@@ -75,21 +75,47 @@ citApp.controller('AssinarDocumentoController', [ '$scope', '$translate', 'Geren
}
AssinaturaRepository.saveAssinaturaInterna(_getAssinatura()).then(function(result){
- if($scope.documentoSelecionado.assinaturas)
- $scope.documentoSelecionado.assinaturas.push(result.originalElement);
- $scope.autenticacao = null;
- $scope.exibirIncluirAssinatura = false;
- $scope.nenhumaAssinatura = false;
- $scope.documentosSelecionados.forEach(function(doc){
- if(doc.id == $scope.documentoSelecionado.id)
- doc.assinaturas = $scope.documentoSelecionado.assinaturas;
- });
+ _atualizarDocumentoSelecionadoAposAssinar(result.originalElement);
+ _resetAssinar();
+ _atualizarDocDoProcessoAposAssinar();
$scope.showAlert("success", $translate.instant('ECM.ASSINADO_SUCESSO'));
});
};
function _getAssinatura(){
- return {documentoGed : { id : $scope.documentoSelecionado.id }, funcao : {id : _getFuncaoChecked()}, idTask : $scope.$parent.task.id };
+ return {
+ documentoGed : { id : $scope.documentoSelecionado.id },
+ funcao : {id : _getFuncaoChecked()},
+ idTask : $scope.$parent.task.id,
+ password : $scope.autenticacao,
+ pessoa : { id : $scope.pessoa.id},
+ conteudoTarja : { id : $scope.tarjaAssinatura.id}};
+ };
+
+ function _atualizarDocumentoSelecionadoAposAssinar(assinatura){
+ if($scope.documentoSelecionado.assinaturas)
+ $scope.documentoSelecionado.assinaturas.push(assinatura);
+ $scope.documentosSelecionados.forEach(function(doc){
+ if(doc.id == $scope.documentoSelecionado.id)
+ doc.assinaturas = $scope.documentoSelecionado.assinaturas;
+ });
+ };
+
+ function _resetAssinar() {
+ $scope.autenticacao = null;
+ $scope.exibirIncluirAssinatura = false;
+ $scope.nenhumaAssinatura = false;
+ };
+
+ function _atualizarDocDoProcessoAposAssinar() {
+ DocumentoGedRepository.get($scope.documentoSelecionado.id).then(function(result){
+ $scope.processo.documentos.forEach(function(doc){
+ if(doc.id == result.originalElement.id) {
+ doc.assinaturas = result.originalElement.assinaturas;
+ doc.tresAssinaturas = result.originalElement.tresAssinaturas;
+ }
+ });
+ });
};
function _getFuncaoChecked(){
@@ -124,4 +150,36 @@ citApp.controller('AssinarDocumentoController', [ '$scope', '$translate', 'Geren
});
};
+ $scope.visualizarAssinatura = function(docSelecionado, assinatura){
+ var valorOriginal = assinatura.isVisualizarAssinatura;
+ if(valorOriginal)
+ assinatura.isVisualizarAssinatura = false;
+ else
+ DocumentoGedRepository.get(docSelecionado.id).then(function(result){
+ $scope.doc = result.originalElement;
+ $scope.documentosSelecionados.forEach(function(doc){
+ doc.assinaturas.forEach(function(ass){
+ ass.isVisualizarAssinatura = false;
+ });
+ if(doc.id == docSelecionado.id)
+ doc.assinaturas.forEach(function(ass){
+ if(ass.id != assinatura.id)
+ ass.isVisualizarAssinatura = false;
+ else
+ ass.isVisualizarAssinatura = valorOriginal != true;
+ });
+ });
+
+ $scope.visualizarAssinaturaOnLine = $scope.doc.formaCriacao.codigo == 1;
+ });
+ };
+
+ function _getTarjaAssinaturaInterna(){
+ $scope.tarjaAssinatura = null;
+ TarjaAssinaturaRepository.getTarjaAssinaturaInterna().then(function(result){
+ $timeout(function(){
+ $scope.tarjaAssinatura = result.originalElement;
+ });
+ });
+ };
}] );
\ No newline at end of file
diff --git a/cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/GerenciarProcessoListUnidadeController.js b/cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/GerenciarProcessoListUnidadeController.js
index 4d65417..6179af1 100644
--- a/cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/GerenciarProcessoListUnidadeController.js
+++ b/cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/GerenciarProcessoListUnidadeController.js
@@ -69,10 +69,13 @@ citApp.controller('GerenciarProcessoListUnidadeController', ['$scope', 'workflow
};
$scope.obterTransclude = function() {
+ $scope.setLoadingGet(true);
_getProcesso();
if($scope.modelSelecionado){
_getFilterCriteriaTarefa();
_fetchBusinessProcess();
+ } else {
+ $scope.setLoading(true);
}
};
@@ -114,8 +117,10 @@ citApp.controller('GerenciarProcessoListUnidadeController', ['$scope', 'workflow
$scope.assignments = result.originalElement.objects;
if($scope.assignments.length > 0)
_recuperarPermissoes($scope.assignments[0].id);
- else
+ else {
$scope.modelSelecionado.$expandido = !$scope.modelSelecionado.$expandido;
+ $scope.setLoading(false);
+ }
});
};
@@ -126,6 +131,7 @@ citApp.controller('GerenciarProcessoListUnidadeController', ['$scope', 'workflow
$scope.btnAction = !(!$scope.workItem.execute && !$scope.workItem.suspend && !$scope.workItem.delegate && !$scope.workItem.restart && !$scope.workItem.visualize);
$scope.modelSelecionado.$expandido = !$scope.modelSelecionado.$expandido;
$scope.modelSelecionado.workItem = $scope.workItem;
+ $scope.setLoading(false);
});
};
diff --git a/cit-ecm-web/src/main/webapp/assets/js/angular/custom/repository/TarjaAssinaturaRepository.js b/cit-ecm-web/src/main/webapp/assets/js/angular/custom/repository/TarjaAssinaturaRepository.js
index a230b97..0ee0db9 100644
--- a/cit-ecm-web/src/main/webapp/assets/js/angular/custom/repository/TarjaAssinaturaRepository.js
+++ b/cit-ecm-web/src/main/webapp/assets/js/angular/custom/repository/TarjaAssinaturaRepository.js
@@ -11,6 +11,11 @@ citApp.factory('TarjaAssinaturaRepository', ['RestangularEcm', 'AbstractReposito
this.removeImagem = function(tarjaAssinatura) {
return restangularEcm.all(this.route + "/removeImagem").post(tarjaAssinatura).then();
};
+
+ this.getTarjaAssinaturaInterna = function() {
+ return this.restangular.one(this.route + "/getTarjaAssinaturaInterna").get();
+ };
+
}
AbstractRepository.extend(TarjaAssinaturaRepository);
diff --git a/cit-ecm-web/src/main/webapp/html/assinatura/documentoAssinaturaEdit.html b/cit-ecm-web/src/main/webapp/html/assinatura/documentoAssinaturaEdit.html
index d0de2a0..aceee17 100644
--- a/cit-ecm-web/src/main/webapp/html/assinatura/documentoAssinaturaEdit.html
+++ b/cit-ecm-web/src/main/webapp/html/assinatura/documentoAssinaturaEdit.html
@@ -28,6 +28,9 @@
+
@@ -37,4 +40,10 @@
+
+
+
\ No newline at end of file
diff --git a/cit-ecm-web/src/main/webapp/html/assinatura/documentoAssinaturaView.html b/cit-ecm-web/src/main/webapp/html/assinatura/documentoAssinaturaView.html
index e5f9904..23acee5 100644
--- a/cit-ecm-web/src/main/webapp/html/assinatura/documentoAssinaturaView.html
+++ b/cit-ecm-web/src/main/webapp/html/assinatura/documentoAssinaturaView.html
@@ -2,11 +2,11 @@
diff --git a/cit-ecm-web/src/main/webapp/html/assinatura/documentoAssinaturas.html b/cit-ecm-web/src/main/webapp/html/assinatura/documentoAssinaturas.html
index 737aa20..23266d2 100644
--- a/cit-ecm-web/src/main/webapp/html/assinatura/documentoAssinaturas.html
+++ b/cit-ecm-web/src/main/webapp/html/assinatura/documentoAssinaturas.html
@@ -9,10 +9,11 @@
LABEL.UNIDADE
ECM.LABEL.TIPO_ASSINATURA
ECM.LABEL.DATA_DA_ASSINATURA
+
-
+
{{docSelecionado.versaoDocumento}}
@@ -31,11 +32,25 @@
{{assinatura.dataCriacao | date : 'dd/MM/yyyy HH:mm:ss'}}
+
+
+ LABEL.FECHAR
+ LABEL.VISUALIZAR
+
+
+
+
+
+
+
+ doc anexo
+
+
-
+
ECM.LABEL.DOCUMENTO_SEM_ASSINATURA
diff --git a/cit-ecm-web/src/main/webapp/html/gerenciarProcesso/includeDocumentosProcesso.html b/cit-ecm-web/src/main/webapp/html/gerenciarProcesso/includeDocumentosProcesso.html
index d80777d..7cfedc7 100644
--- a/cit-ecm-web/src/main/webapp/html/gerenciarProcesso/includeDocumentosProcesso.html
+++ b/cit-ecm-web/src/main/webapp/html/gerenciarProcesso/includeDocumentosProcesso.html
@@ -17,13 +17,15 @@
{{documento.assuntoComplementar}}
- {{documento.sigilo.tipoSigilo.descricao}} {{documento.sigilo.tipoSigilo.descricao}} {{documento.sigilo.tipoSigilo.descricao}}
- {{documento.nivelAcesso.nivelAcesso.descricao}} {{documento.nivelAcesso.nivelAcesso.descricao}} Anexado Assinado Habilitado Ciência Cancelado
-
+ {{documento.sigilo.tipoSigilo.descricao}}
+ {{documento.sigilo.tipoSigilo.descricao}}
+ {{documento.sigilo.tipoSigilo.descricao}}
+ {{documento.nivelAcesso.nivelAcesso.descricao}}
+ {{documento.nivelAcesso.nivelAcesso.descricao}} Anexado
+ Assinado
+ Habilitado Ciência
+ Cancelado
@@ -35,7 +37,7 @@