From 56ee39eeb2f5abed920a34dac782fd2204f006ab Mon Sep 17 00:00:00 2001 From: rogerio.costa Date: Sun, 1 May 2016 19:12:16 -0300 Subject: [PATCH] Assinar documento digital --- cit-ecm-api/src/main/java/br/com/centralit/api/dao/impl/ProcessoDaoHibernate.java | 201 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------- cit-ecm-api/src/main/java/br/com/centralit/api/dao/impl/UnidadeProcessoDaoHibernate.java | 58 ++++++++++++++++++++++++++++++---------------------------- cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/DocumentoGedServiceImpl.java | 4 +++- cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/InicializarEcmServiceImpl.java | 4 ++-- cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/ProcessoServiceImpl.java | 3 --- cit-ecm-web/src/main/java/br/com/centralit/controller/ProcessoController.java | 1 - cit-ecm-web/src/main/java/br/com/centralit/listener/StartupListenerEcm.java | 9 ++++----- cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/ClassificarDocumentoProcessoListController.js | 2 +- cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/ProcessoFinalizadoListController.js | 2 +- 9 files changed, 216 insertions(+), 68 deletions(-) diff --git a/cit-ecm-api/src/main/java/br/com/centralit/api/dao/impl/ProcessoDaoHibernate.java b/cit-ecm-api/src/main/java/br/com/centralit/api/dao/impl/ProcessoDaoHibernate.java index 8e9b5bd..0339a90 100644 --- a/cit-ecm-api/src/main/java/br/com/centralit/api/dao/impl/ProcessoDaoHibernate.java +++ b/cit-ecm-api/src/main/java/br/com/centralit/api/dao/impl/ProcessoDaoHibernate.java @@ -1,7 +1,9 @@ package br.com.centralit.api.dao.impl; +import java.util.ArrayList; import java.util.Calendar; import java.util.Collection; +import java.util.List; import javax.persistence.FetchType; @@ -17,12 +19,14 @@ import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.stereotype.Repository; import br.com.centralit.api.dao.ProcessoDao; +import br.com.centralit.api.model.CredencialProcesso; import br.com.centralit.api.model.Processo; import br.com.centralit.api.model.SigiloPrivilegio; 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.model.arquitetura.PersistentObject; import br.com.centralit.framework.util.UtilObjeto; import com.googlecode.genericdao.search.Filter; @@ -63,6 +67,7 @@ import com.googlecode.genericdao.search.SearchResult; * */ @Repository("processoDao") +@SuppressWarnings("unchecked") public class ProcessoDaoHibernate extends CitGenericDAOImpl implements ProcessoDao { /** @@ -198,10 +203,45 @@ public class ProcessoDaoHibernate extends CitGenericDAOImpl implements ProcessoD */ public SearchResult searchAndCountPorSigilo(ISearch search) { - Long idUsuario = ( (Usuario) SecurityContextHolder.getContext().getAuthentication().getPrincipal() ).getId(); - Criteria criteria = this.newCriteria(); + DetachedCriteria detachedPrivilegio = getDetachedPorPermissaoEmSigilo(); + + // Joins + criteria.createAlias("documentos", "documentos", JoinType.LEFT_OUTER_JOIN); + + criteria.createAlias("documentos.status", "statusDocumento", JoinType.LEFT_OUTER_JOIN); + // Filtros + criteria.add(Restrictions.or(Restrictions.eq("statusDocumento.codigo", 0L), Restrictions.isNull("validado"), Restrictions.eq("validado", false))); + + criteria.add(Restrictions.or(Subqueries.propertyIn("sigilo.id", detachedPrivilegio), Subqueries.propertyIn("documentos.sigilo.id", detachedPrivilegio))); + + criteria.setProjection(Projections.distinct(Projections.property("id"))); + + search.getFilters().add(Filter.in("id", criteria.list())); + + return super.searchAndCount(search); + } + + /** + *

+ * Iniciativa(s): NUMERO_INICIATIVA + *

+ * + *

+ * Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO + *

+ * + * Método responsável por filtrar o sigilo que o usuario logado tem permissão através do(s) grupo(s) que o mesmo pertence + * + * @author rogerio.costa + * + * @return DetachedCriteria/ ids dos sigilos + */ + private DetachedCriteria getDetachedPorPermissaoEmSigilo() { + + Long idUsuario = ( (Usuario) SecurityContextHolder.getContext().getAuthentication().getPrincipal() ).getId(); + DetachedCriteria detachedCriteriaPrivilegio = DetachedCriteria.forClass(SigiloPrivilegio.class); detachedCriteriaPrivilegio.setProjection(Projections.property("sigilo.id")); @@ -218,19 +258,7 @@ public class ProcessoDaoHibernate extends CitGenericDAOImpl implements ProcessoD detachedCriteriaPrivilegio.add(Restrictions.eq("grupoUsuario.usuario.id", idUsuario)); - criteria.add(Subqueries.propertyIn("sigilo.id", detachedCriteriaPrivilegio)); - - criteria.createAlias("documentos", "documentos", JoinType.LEFT_OUTER_JOIN); - - criteria.createAlias("documentos.status", "statusDocumento", JoinType.LEFT_OUTER_JOIN); - - criteria.add(Restrictions.or(Restrictions.eq("statusDocumento.codigo", 0L), Restrictions.isNull("validado"), Restrictions.eq("validado", false))); - - criteria.setProjection(Projections.distinct(Projections.property("id"))); - - search.getFilters().add(Filter.in("id", criteria.list())); - - return super.searchAndCount(search); + return detachedCriteriaPrivilegio; } @Override @@ -248,17 +276,17 @@ public class ProcessoDaoHibernate extends CitGenericDAOImpl implements ProcessoD return UtilObjeto.isReferencia(criteria.uniqueResult()); } - - public Collection autoCompleteProcessoByNupAndStatus(String nup, Dominio dominio){ - + + public Collection autoCompleteProcessoByNupAndStatus(String nup, Dominio dominio) { + Search search = new SearchSeven(this.persistentClass); search.addFilterOr(Filter.ilike("nup", "%" + nup + "%"), Filter.ilike("nup", "%" + nup + "%")); - + search.addFilterEqual("status.id", dominio.getId()); - + search.addSortDesc("id"); - + search.setMaxResults(10); return this.search(search); @@ -271,17 +299,138 @@ public class ProcessoDaoHibernate extends CitGenericDAOImpl implements ProcessoD Search search = new SearchSeven(this.persistentClass); search.addFilterOr(Filter.ilike("nup", "%" + nup + "%"), Filter.ilike("nup", "%" + nup + "%")); - + search.getFilters().add(Filter.notEqual("status.codigo", 1L)); - + search.getFilters().add(Filter.notEqual("status.codigo", 5L)); - + search.getFilters().add(Filter.notEqual("status.codigo", 3L)); - + search.addSortDesc("id"); - + search.setMaxResults(10); return this.search(search); } + + @Override + public List findAutoComplete(String chave, String valor) { + + Criteria criteriaProcesso = this.newCriteria(Processo.class); + + this.filterProcessoPermissaoUsuario(criteriaProcesso); + + criteriaProcesso.add(Restrictions.ilike(chave, "%" + valor + "%")); + + return criteriaProcesso.list(); + } + + /** + *

+ * Iniciativa(s): NUMERO_INICIATIVA + *

+ * + *

+ * Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO + *

+ * + * Método responsável por realizar os filtros em que o usuario logado tem permissão. + * + * @author rogerio.costa + * + * @param criteriaProcesso + */ + private void filterProcessoPermissaoUsuario(Criteria criteriaProcesso) { + + Usuario usuario = ( (Usuario) SecurityContextHolder.getContext().getAuthentication().getPrincipal() ); + + // Verifica se o usuario está lotado na unidade + if (UtilObjeto.isReferencia(usuario.getUnidade())) { + + // Filtro de permissões herdadas através de grupos + DetachedCriteria detachedCriteriaPrivilegio = findSigiloUsuarioContemPermissaoAtravesDosGrupos(usuario); + + // Filtro da credencial do processo + DetachedCriteria detachedCredencialProcesso = findProcessoSigilosoPorCredencial(usuario); + + criteriaProcesso.add(Restrictions.eq("unidade.id", usuario.getUnidade().getId())); + + criteriaProcesso.add(Restrictions.or(Subqueries.propertyIn("sigilo.id", detachedCriteriaPrivilegio), Subqueries.propertyIn("id", detachedCredencialProcesso), Restrictions.or(Restrictions.eq("autor.id", usuario.getId()), Restrictions.isNull("sigilo")))); + + criteriaProcesso.add(Restrictions.isNotNull("idProcessInstance")); + + } + } + + /** + *

+ * Iniciativa(s): NUMERO_INICIATIVA + *

+ * + *

+ * Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO + *

+ * + * Método responsável por retornar um detachedCriteria com os ids dos sigilos que o usuário tem permissão. O mesmo é consultado através dos grupos que o usuário pertence. + * + * @author rogerio.costa + * + * @param usuario + * @return DetachedCriteria/Sigilo.id + */ + private DetachedCriteria findSigiloUsuarioContemPermissaoAtravesDosGrupos(Usuario usuario) { + + DetachedCriteria detachedCriteriaPrivilegio = DetachedCriteria.forClass(SigiloPrivilegio.class); + + detachedCriteriaPrivilegio.setProjection(Projections.property("sigilo.id")); + + detachedCriteriaPrivilegio.createAlias("privilegio", "privilegio"); + + detachedCriteriaPrivilegio.createAlias("privilegio.grupoPrivilegios", "grupoPrivilegio"); + + detachedCriteriaPrivilegio.add(Restrictions.isNull("grupoPrivilegio.dataInativo")); + + detachedCriteriaPrivilegio.createCriteria("grupoPrivilegio.grupo").createAlias("grupoUsuarios", "grupoUsuario"); + + detachedCriteriaPrivilegio.add(Restrictions.isNull("grupoUsuario.dataInativo")); + + detachedCriteriaPrivilegio.add(Restrictions.eq("grupoUsuario.usuario.id", usuario.getId())); + + return detachedCriteriaPrivilegio; + } + + /** + *

+ * Iniciativa(s): NUMERO_INICIATIVA + *

+ * + *

+ * Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO + *

+ * + * Método responsável por retornar os ids dos processo sigilosos que o usuário tem permissão, adicionado diretamente para o usuário e grupo que o mesmo está vinculado. + * + * @author rogerio.costa + * + * @param usuario + * @return DetachedCriteria/ Processo.id + */ + private DetachedCriteria findProcessoSigilosoPorCredencial(Usuario usuario) { + + DetachedCriteria detachedCredencialProcesso = DetachedCriteria.forClass(CredencialProcesso.class); + + detachedCredencialProcesso.setProjection(Projections.property("processo.id")); + + detachedCredencialProcesso.createAlias("grupo", "grupo", JoinType.LEFT_OUTER_JOIN); + + detachedCredencialProcesso.createAlias("grupo.grupoUsuarios", "grupoUsuario", JoinType.LEFT_OUTER_JOIN); + + detachedCredencialProcesso.add(Restrictions.isNull("grupoUsuario.dataInativo")); + + detachedCredencialProcesso.add(Restrictions.or(Restrictions.eq("grupoUsuario.usuario.id", usuario.getId()), Restrictions.eq("usuario.id", usuario.getId()))); + + detachedCredencialProcesso.add(Restrictions.isNull("dataInativo")); + + return detachedCredencialProcesso; + } } diff --git a/cit-ecm-api/src/main/java/br/com/centralit/api/dao/impl/UnidadeProcessoDaoHibernate.java b/cit-ecm-api/src/main/java/br/com/centralit/api/dao/impl/UnidadeProcessoDaoHibernate.java index f182cab..c422dfd 100644 --- a/cit-ecm-api/src/main/java/br/com/centralit/api/dao/impl/UnidadeProcessoDaoHibernate.java +++ b/cit-ecm-api/src/main/java/br/com/centralit/api/dao/impl/UnidadeProcessoDaoHibernate.java @@ -93,7 +93,7 @@ public class UnidadeProcessoDaoHibernate extends CitGenericDAOImpl implements Un return this.search(searchSeven); } - + /** * *

@@ -203,7 +203,7 @@ public class UnidadeProcessoDaoHibernate extends CitGenericDAOImpl implements Un searchSeven.addFilterEqual("processo.id", idProcesso); searchSeven.addFilterEqual("unidade.id", idUnidade); - + searchSeven.setMaxResults(1); return this.searchUnique(searchSeven); @@ -222,34 +222,38 @@ public class UnidadeProcessoDaoHibernate extends CitGenericDAOImpl implements Un @Override public SearchResult searchAndCountPorUnidade(ISearch search, Usuario usuario, Long idStatus) { - // Filtro de permissões herdadas através de grupos - DetachedCriteria detachedCriteriaPrivilegio = findSigiloUsuarioContemPermissaoAtravesDosGrupos(usuario); + // Verifica se o usuario está lotado na unidade + if (UtilObjeto.isReferencia(usuario.getUnidade())) { - // Filtro da credencial do processo - DetachedCriteria detachedCredencialProcesso = findProcessoSigilosoPorCredencial(usuario); + // Filtro de permissões herdadas através de grupos + DetachedCriteria detachedCriteriaPrivilegio = findSigiloUsuarioContemPermissaoAtravesDosGrupos(usuario); - // Filtro da unidade, para processos públicos e restritos. - search.getFilters().add(Filter.or(Filter.not(Filter.equal("processo.status.id", idStatus)), Filter.isEmpty("processo.status.id"))); - - search.getFilters().add(Filter.notEqual("processo.status.codigo", 5L)); + // Filtro da credencial do processo + DetachedCriteria detachedCredencialProcesso = findProcessoSigilosoPorCredencial(usuario); - // Verifica se o usuario está lotado na unidade - if (UtilObjeto.isReferencia(usuario.getUnidade())) { + // Filtro da unidade, para processos públicos e restritos. + search.getFilters().add(Filter.or(Filter.not(Filter.equal("processo.status.id", idStatus)), Filter.isEmpty("processo.status.id"))); + + search.getFilters().add(Filter.notEqual("processo.status.codigo", 5L)); search.getFilters().add(Filter.equal("unidade.id", usuario.getUnidade().getId())); - } - Criteria criteriaProcessoSigiloso = this.newCriteria(Processo.class); + search.getFilters().add(Filter.or(Filter.equal("concluido", false), Filter.isNull("concluido"))); - criteriaProcessoSigiloso.setProjection(Projections.property("id")); + Criteria criteriaProcessoSigiloso = this.newCriteria(Processo.class); - criteriaProcessoSigiloso.add(Restrictions.or(Subqueries.propertyIn("sigilo.id", detachedCriteriaPrivilegio), Subqueries.propertyIn("id", detachedCredencialProcesso))); + criteriaProcessoSigiloso.setProjection(Projections.property("id")); - search.getFilters().add(Filter.isNotNull("processo.idProcessInstance")); + criteriaProcessoSigiloso.add(Restrictions.or(Subqueries.propertyIn("sigilo.id", detachedCriteriaPrivilegio), Subqueries.propertyIn("id", detachedCredencialProcesso))); - search.getFilters().add(Filter.or(Filter.equal("processo.autor.id", usuario.getId()), Filter.isNull("processo.sigilo"), Filter.in("processo.id", criteriaProcessoSigiloso.list()))); + search.getFilters().add(Filter.isNotNull("processo.idProcessInstance")); - return super.searchAndCount(search); + search.getFilters().add(Filter.or(Filter.equal("processo.autor.id", usuario.getId()), Filter.isNull("processo.sigilo"), Filter.in("processo.id", criteriaProcessoSigiloso.list()))); + + return super.searchAndCount(search); + } + + return new SearchResult(); } /** @@ -323,38 +327,37 @@ public class UnidadeProcessoDaoHibernate extends CitGenericDAOImpl implements Un return detachedCriteriaPrivilegio; } - + /** * */ public Collection findByPorIdProcessoEmExecucao(Long idProcesso) { - + SearchSeven searchSeven = new SearchSeven(); searchSeven.addFilterEqual("processo.id", idProcesso); - + searchSeven.addFilterOr(Filter.equal("concluido", false), Filter.isNull("concluido")); return this.search(searchSeven); - + } public UnidadeProcesso obterPorUnidadeEProcessoEmExecucao(Long idProcesso, Long idUnidade) { - + SearchSeven searchSeven = new SearchSeven(); searchSeven.addFilterEqual("processo.id", idProcesso); searchSeven.addFilterEqual("unidade.id", idUnidade); - - searchSeven.addFilterOr( Filter.isNull("concluido")); + + searchSeven.addFilterOr(Filter.isNull("concluido")); searchSeven.setMaxResults(1); return this.searchUnique(searchSeven); } - /** *

* Iniciativa(s): NUMERO_INICIATIVA @@ -384,6 +387,5 @@ public class UnidadeProcessoDaoHibernate extends CitGenericDAOImpl implements Un return UtilObjeto.isReferencia(criteria.uniqueResult()); - } } 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 3568a38..5390dd5 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 @@ -334,7 +334,7 @@ public class DocumentoGedServiceImpl extends GenericServiceImpl>.")); list.add(new AcaoHistoricoAlteracaoProcesso("JUSTIFICATIVA_ACAO_PROCESSO", "Justificativa", "<> , protocolo <>. Justificativa: <>.")); list.add(new AcaoHistoricoAlteracaoProcesso("ACAO_PROCESSO", "Ação", "<> , protocolo <>.")); - list.add(new AcaoHistoricoAlteracaoProcesso("VALIDAR_PROCESSO", "Validar Processo", "O processo <> foi validado e seus documentos.")); + list.add(new AcaoHistoricoAlteracaoProcesso("VALIDAR_PROCESSO", "Validar Processo", "O processo <> e seus documentos foram validados de acordo com seu nível de acesso.")); list.add(new AcaoHistoricoAlteracaoProcesso("ATRIBUICAO_PROCESSO", "Atribuição de processo", "O processo <> foi atribuido para <>.")); list.add(new AcaoHistoricoAlteracaoProcesso("ASSINAR_DOCUMENTO", "Assinatura de documento", "O documento <> <> foi assinado por <>.")); list.add(new AcaoHistoricoAlteracaoProcesso("ATUALIZAR_ANDAMENTO_PROCESSO", "Atualização de Andamento do Processo", "Situação do processo alterada para <>.")); @@ -298,7 +298,7 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.NOVOPROCESSO", " Novo Processo", dominio, modulo)); internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.TIPOPROTOCOLO", "Tipo de Protocolo", dominio, modulo)); internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.TOTAL_ITENS_HISTORICO", "Total de históricos", dominio, modulo)); - internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.VERSAO_ATUAL", "Versão Atual", dominio, modulo)); + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.VERSAO_ATUAL", "Versão atual", dominio, modulo)); internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.VERSAO_DOCUMENTO", "Versões do documento", dominio, modulo)); internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.VERSAO_INTERMEDIARIA", "Versão Intermediária", dominio, modulo)); internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.VERSOESDODOCUMENTO", "Versões do Documento", dominio, modulo)); @@ -378,7 +378,7 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.OBJETO", "Objeto", dominio, modulo)); internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.ATRIBUIDOA", "Atribuído a", dominio, modulo)); internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.UNIDADE_GERADORA", "Unidade gestora", dominio, modulo)); - internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.PRAZO_TEMPORALIDADE", "Unidade gestora", dominio, modulo)); + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.PRAZO_TEMPORALIDADE", "Prazo temporalidade", dominio, modulo)); internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.CLASSIFICACAO_ARQUIVISTICA", "Classificação Arquivística (Assunto)", dominio, modulo)); internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.CRIADO_EM", "Criado em", dominio, modulo)); internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.DATA_CONCLUSAO", "Data conclusão", dominio, modulo)); @@ -414,7 +414,7 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.CAPTURAR", "Capturar", dominio, modulo)); internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.HISTORICO_DE_ATRIBUICAO", "Histórico de atribuição", dominio, modulo)); internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.DATA_ATRIBUICAO", "Data da atribuição", dominio, modulo)); - internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.ATRIBUIDO_NOME", "Atribuído", dominio, modulo)); + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.ATRIBUIDO_NOME", "Atribuído a", dominio, modulo)); internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.ATRIBUIDO_POR", "Atribuído por", dominio, modulo)); internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.REMOVIDO_POR", "Removido por", dominio, modulo)); internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.DATA_REMOCAO", "Data remoção", dominio, modulo)); @@ -556,7 +556,6 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen internacionalizacaoList.add(new Internacionalizacao("ECM.MSG.PROCESSO_SEM_DOCUMENTO_ENVIO_UNIDADE", "Para enviar o processo é necessário incluir documento ao mesmo", dominio, modulo)); internacionalizacaoList.add(new Internacionalizacao("ECM.MSG.UNIDADE_SEM_GRUPO_PADRAO", "Não é possível enviar o processo para unidade selecionada. Motivo: Grupo padrão não contém usuário(s)!", dominio, modulo)); internacionalizacaoList.add(new Internacionalizacao("ECM.MSG.CONFIRMA_CONCLUIR_UNIDADE", "Concluir processo nesta unidade?", dominio, modulo)); - internacionalizacaoList.add(new Internacionalizacao("ECM.MSG.PROCESSO_ENVIADO_SUCESSO", "Processo enviado com sucesso!", dominio, modulo)); internacionalizacaoList.add(new Internacionalizacao("ECM.MSG_HISTORICO_ECM.VALIDAR_PROCESSO", "Validar Processo", dominio, modulo)); internacionalizacaoList.add(new Internacionalizacao("ECM.MSG.EXISTE_PROCESSO_ABERTO", "Existe um processo aberto, deseja fechá-lo?", dominio, modulo)); internacionalizacaoList.add(new Internacionalizacao("ECM.MSG.ATRIBUICAO_PRIMEIRO_ACESSO", "Esté processo foi atribuido para você", dominio, modulo)); diff --git a/cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/ClassificarDocumentoProcessoListController.js b/cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/ClassificarDocumentoProcessoListController.js index b87679c..54c0bff 100644 --- a/cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/ClassificarDocumentoProcessoListController.js +++ b/cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/ClassificarDocumentoProcessoListController.js @@ -17,7 +17,7 @@ citApp.controller('ClassificarDocumentoProcessoListController', ['$scope', 'Proc fields: ['id', 'nup', 'sigiloOriginal.tipoSigilo.descricao', 'sigilo.tipoSigilo.descricao', 'prazoSigilo'], filters : [{type : 'string', field : 'nup' }, {type : 'string', field : 'sigiloOriginal.tipoSigilo.descricao' } , - {type : 'string', field : 'sigilo.tipoSigilo.descricao', comparison : 'nn'}, + {type : 'string', field : 'sigilo.tipoSigilo.descricao'}, {type : 'date', field : 'prazoSigilo' }] }; diff --git a/cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/ProcessoFinalizadoListController.js b/cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/ProcessoFinalizadoListController.js index 659a7ca..cebb012 100644 --- a/cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/ProcessoFinalizadoListController.js +++ b/cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/ProcessoFinalizadoListController.js @@ -14,7 +14,7 @@ citApp.controller('ProcessoFinalizadoListController', ['$scope', 'ProcessoReposi $scope.filterCriteria = { start : 1, dir : 'asc', - sort : 'id', + sort : 'dataConclusao', limit : 10, fields: ['nup', 'tipoProcesso.nome', 'assunto.nome', 'nivelAcesso.nivelAcesso.descricao', 'dataCriacao', 'dataConclusao', 'temporalidade.dataFimTemporalidade', 'temporalidade.tipoDestinacao.descricao'], filters : [{type : 'string', field : 'nup' }, -- libgit2 0.21.2