diff --git a/cit-ecm-api/src/main/java/br/com/centralit/api/dao/ProcessoDao.java b/cit-ecm-api/src/main/java/br/com/centralit/api/dao/ProcessoDao.java index 3131392..6257da7 100644 --- a/cit-ecm-api/src/main/java/br/com/centralit/api/dao/ProcessoDao.java +++ b/cit-ecm-api/src/main/java/br/com/centralit/api/dao/ProcessoDao.java @@ -155,5 +155,5 @@ public interface ProcessoDao extends CitGenericDAO { * @return SearchResult */ SearchResult searchAndCountPorSigilo(ISearch search); - + } diff --git a/cit-ecm-api/src/main/java/br/com/centralit/api/dao/UnidadeProcessoDao.java b/cit-ecm-api/src/main/java/br/com/centralit/api/dao/UnidadeProcessoDao.java index 03d0fd2..8f1c3c8 100644 --- a/cit-ecm-api/src/main/java/br/com/centralit/api/dao/UnidadeProcessoDao.java +++ b/cit-ecm-api/src/main/java/br/com/centralit/api/dao/UnidadeProcessoDao.java @@ -2,6 +2,9 @@ package br.com.centralit.api.dao; import java.util.Collection; +import com.googlecode.genericdao.search.ISearch; +import com.googlecode.genericdao.search.SearchResult; + import br.com.centralit.api.model.Processo; import br.com.centralit.api.model.UnidadeProcesso; import br.com.centralit.framework.dao.arquitetura.CitGenericDAO; @@ -114,5 +117,13 @@ public interface UnidadeProcessoDao extends CitGenericDAO { * @return UnidadeProcesso */ UnidadeProcesso obterPorUnidadeEProcesso(Long idProcesso, Long idUnidade); - + + /** + * Método responsável por listar processos através da unidade do usuário + * @author rogerio.cassimiro + * @param search + * @return SearchResult + */ + SearchResult searchAndCountPorUnidade(ISearch search); + } 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 ecacb24..95c32bf 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 @@ -211,5 +211,5 @@ public class ProcessoDaoHibernate extends CitGenericDAOImpl implements ProcessoD return super.searchAndCount(search); } - + } 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 7f9e535..b47711b 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 @@ -2,13 +2,19 @@ package br.com.centralit.api.dao.impl; import java.util.Collection; +import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.stereotype.Repository; +import com.googlecode.genericdao.search.Filter; +import com.googlecode.genericdao.search.ISearch; +import com.googlecode.genericdao.search.SearchResult; + import br.com.centralit.api.dao.UnidadeProcessoDao; import br.com.centralit.api.model.Processo; import br.com.centralit.api.model.UnidadeProcesso; import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl; import br.com.centralit.framework.dao.arquitetura.SearchSeven; +import br.com.centralit.framework.model.Usuario; import br.com.centralit.framework.util.UtilColecao; /** @@ -167,4 +173,17 @@ public class UnidadeProcessoDaoHibernate extends CitGenericDAOImpl implements Un } + /** + * Método responsável por listar processos através da unidade do usuário + * @author rogerio.cassimiro + * @param search + * @return SearchResult + */ + @Override + public SearchResult searchAndCountPorUnidade(ISearch search) { + Usuario usuario = ( (Usuario) SecurityContextHolder.getContext().getAuthentication().getPrincipal() ); + search.getFilters().add(Filter.in("unidade.id", usuario.getUnidade().getId())); + search.getFilters().add(Filter.or(Filter.equal("concluido", Boolean.FALSE), Filter.isEmpty("concluido"))); + return super.searchAndCount(search); + } } diff --git a/cit-ecm-api/src/main/java/br/com/centralit/api/framework/json/ViewsEcm.java b/cit-ecm-api/src/main/java/br/com/centralit/api/framework/json/ViewsEcm.java index 141a2b4..985f4de 100644 --- a/cit-ecm-api/src/main/java/br/com/centralit/api/framework/json/ViewsEcm.java +++ b/cit-ecm-api/src/main/java/br/com/centralit/api/framework/json/ViewsEcm.java @@ -106,5 +106,4 @@ public class ViewsEcm extends Views { public static class TipoSuporteDocumentoEdit extends TipoSuporteDocumentoListView{}; - } diff --git a/cit-ecm-api/src/main/java/br/com/centralit/api/model/Processo.java b/cit-ecm-api/src/main/java/br/com/centralit/api/model/Processo.java index 0ff1e20..728e3eb 100644 --- a/cit-ecm-api/src/main/java/br/com/centralit/api/model/Processo.java +++ b/cit-ecm-api/src/main/java/br/com/centralit/api/model/Processo.java @@ -69,13 +69,17 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize; @JsonIgnoreProperties({ "sugestao", "assuntoPlanoClassificacao" }) public class Processo extends PersistentObjectUnidade { + public static final String GRID_PROCESSO_NA_UNIDADE = "GRID_PROCESSO_NA_UNIDADE"; + + public static final String GRID_CLASSIFICACAO_PROCESSO_DOCUMENTO = "GRID_CLASSIFICACAO_PROCESSO_DOCUMENTO"; + /** Atributo serialVersionUID. */ private static final long serialVersionUID = -6167513900417461697L; /** Atributo id. */ @Id @GeneratedValue(strategy = GenerationType.AUTO) - @JsonView({ Views.GenericView.class }) + @JsonView({ Views.GenericView.class, Views.UnidadeProcessoListView.class }) private Long id; /** Atributo assuntoComplementar. */ @@ -86,6 +90,7 @@ public class Processo extends PersistentObjectUnidade { @Temporal(TemporalType.TIMESTAMP) @JsonSerialize(using = JsonCalendarSimpleDateSerializer.class) @JsonDeserialize(using = JsonCalendarSimpleDateDeserializer.class) + @JsonView({Views.UnidadeProcessoListView.class}) private Calendar dataReferencia; /** Atributo dataConclusao. */ @@ -95,7 +100,7 @@ public class Processo extends PersistentObjectUnidade { private Calendar dataConclusao; /** Atributo nup. */ - @JsonView({ Views.ProcessoList.class, Views.ProcessoRelacionadoList.class, Views.AnexarProcesso.class, Views.ProcessoAutoCompleteView.class }) + @JsonView({ Views.ProcessoList.class, Views.ProcessoRelacionadoList.class, Views.AnexarProcesso.class, Views.ProcessoAutoCompleteView.class, Views.UnidadeProcessoListView.class }) private String nup; /** Atributo nome. */ @@ -106,7 +111,7 @@ public class Processo extends PersistentObjectUnidade { private Long idTask; /** Atributo nup. */ - @JsonView({ Views.ProcessoEdit.class }) + @JsonView({ Views.ProcessoEdit.class}) private Dominio tipoProtocolo; /** Atributo observacaoGeral. */ @@ -115,7 +120,7 @@ public class Processo extends PersistentObjectUnidade { /** Atributo status. */ @ManyToOne(fetch = FetchType.LAZY) - @JsonView({ Views.ProcessoEdit.class }) + @JsonView({ Views.ProcessoEdit.class, Views.UnidadeProcessoListView.class }) private Dominio status; /** Atributo tramitarDocumento. */ @@ -124,7 +129,7 @@ public class Processo extends PersistentObjectUnidade { private TramitarDocumento tramitarDocumento; /** Atributo tipoProcesso. */ - @JsonView({ Views.ProcessoList.class, Views.ProcessoRelacionadoList.class, Views.AnexarProcesso.class }) + @JsonView({ Views.ProcessoList.class, Views.ProcessoRelacionadoList.class, Views.AnexarProcesso.class, Views.UnidadeProcessoListView.class }) @ManyToOne(fetch = FetchType.LAZY) private TipoProcesso tipoProcesso; @@ -137,7 +142,7 @@ public class Processo extends PersistentObjectUnidade { private String tipoAssunto; /** Atributo idProcessInstance. */ - @JsonView({ Views.ProcessoList.class }) + @JsonView({ Views.ProcessoList.class, Views.UnidadeProcessoListView.class }) private Long idProcessInstance; /** Atributo nivelAcesso. */ @@ -166,7 +171,7 @@ public class Processo extends PersistentObjectUnidade { /** Atributo sigilo. */ @ManyToOne(fetch = FetchType.LAZY) - @JsonView({ Views.ProcessoList.class }) + @JsonView({ Views.ProcessoList.class, Views.UnidadeProcessoListView.class }) private Sigilo sigilo; @ManyToOne(fetch = FetchType.LAZY) diff --git a/cit-ecm-api/src/main/java/br/com/centralit/api/model/Sigilo.java b/cit-ecm-api/src/main/java/br/com/centralit/api/model/Sigilo.java index bd7d2c6..64b0ae2 100644 --- a/cit-ecm-api/src/main/java/br/com/centralit/api/model/Sigilo.java +++ b/cit-ecm-api/src/main/java/br/com/centralit/api/model/Sigilo.java @@ -65,7 +65,7 @@ public class Sigilo extends PersistentObjectAudit { /** Atributo tipoSigilo. */ @ManyToOne(fetch = FetchType.LAZY) - @JsonView({ Views.GenericView.class }) + @JsonView({ Views.GenericView.class, Views.UnidadeProcessoListView.class }) private Dominio tipoSigilo; /** Atributo sigiloPrivilegios. */ diff --git a/cit-ecm-api/src/main/java/br/com/centralit/api/model/TipoProcesso.java b/cit-ecm-api/src/main/java/br/com/centralit/api/model/TipoProcesso.java index 37be2d2..1a02942 100644 --- a/cit-ecm-api/src/main/java/br/com/centralit/api/model/TipoProcesso.java +++ b/cit-ecm-api/src/main/java/br/com/centralit/api/model/TipoProcesso.java @@ -63,7 +63,7 @@ public class TipoProcesso extends PersistentObjectUnidade { private Long id; /** Atributo descricao. */ - @JsonView({ ViewsEcm.TipoProcessoList.class }) + @JsonView({ ViewsEcm.TipoProcessoList.class, Views.UnidadeProcessoListView.class }) private String descricao; /** Atributo nome. */ diff --git a/cit-ecm-api/src/main/java/br/com/centralit/api/model/UnidadeProcesso.java b/cit-ecm-api/src/main/java/br/com/centralit/api/model/UnidadeProcesso.java index f4f26cd..568c355 100644 --- a/cit-ecm-api/src/main/java/br/com/centralit/api/model/UnidadeProcesso.java +++ b/cit-ecm-api/src/main/java/br/com/centralit/api/model/UnidadeProcesso.java @@ -72,17 +72,17 @@ public class UnidadeProcesso extends PersistentObjectAudit { /** Atributo processo. */ @ManyToOne(fetch = FetchType.LAZY) - @JsonView({ Views.EnviarProcessoView.class }) + @JsonView({ Views.EnviarProcessoView.class, Views.UnidadeProcessoListView.class }) private Processo processo; /** Atributo grupo. */ @ManyToOne(fetch = FetchType.LAZY) - @JsonView({ Views.EnviarProcessoView.class }) + @JsonView({ Views.EnviarProcessoView.class}) private Unidade unidade; /** Atributo usuarioResponsavel. */ @ManyToOne(fetch = FetchType.LAZY) - @JsonView({ Views.EnviarProcessoView.class }) + @JsonView({ Views.EnviarProcessoView.class, Views.UnidadeProcessoListView.class }) private Usuario usuarioResponsavel; /** diff --git a/cit-ecm-api/src/main/java/br/com/centralit/api/service/UnidadeProcessoService.java b/cit-ecm-api/src/main/java/br/com/centralit/api/service/UnidadeProcessoService.java index 4a977e8..6ea3e0d 100644 --- a/cit-ecm-api/src/main/java/br/com/centralit/api/service/UnidadeProcessoService.java +++ b/cit-ecm-api/src/main/java/br/com/centralit/api/service/UnidadeProcessoService.java @@ -7,6 +7,9 @@ import br.com.centralit.api.model.UnidadeProcesso; import br.com.centralit.api.viewHelper.EnviarProcessoVH; import br.com.centralit.framework.service.arquitetura.GenericService; +import com.googlecode.genericdao.search.ISearch; +import com.googlecode.genericdao.search.SearchResult; + /** *

* @@ -169,4 +172,12 @@ public interface UnidadeProcessoService extends GenericService SearchResult + */ + SearchResult searchAndCountPorUnidade(ISearch search); + } diff --git a/cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/ProcessoServiceImpl.java b/cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/ProcessoServiceImpl.java index fcb46e4..f887ee2 100644 --- a/cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/ProcessoServiceImpl.java +++ b/cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/ProcessoServiceImpl.java @@ -19,9 +19,6 @@ import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Service; import org.springframework.validation.Validator; -import com.googlecode.genericdao.search.ISearch; -import com.googlecode.genericdao.search.SearchResult; - import br.com.centralit.api.dao.ProcessoDao; import br.com.centralit.api.model.DocumentoGed; import br.com.centralit.api.model.EstruturaOrganizacionalECM; @@ -56,6 +53,9 @@ import br.com.centralit.framework.util.UtilColecao; import br.com.centralit.framework.util.UtilDate; import br.com.centralit.framework.util.UtilObjeto; +import com.googlecode.genericdao.search.ISearch; +import com.googlecode.genericdao.search.SearchResult; + /** *

* @@ -168,7 +168,7 @@ public class ProcessoServiceImpl extends GenericServiceImpl impl try { - this.solrService.addProcesso(processo); +// this.solrService.addProcesso(processo); } catch (final Exception e) { e.printStackTrace(); @@ -232,7 +232,7 @@ public class ProcessoServiceImpl extends GenericServiceImpl impl this.montarEntidade(processo); try { - this.solrService.addProcesso(processo); +// this.solrService.addProcesso(processo); } catch (Exception e) { e.printStackTrace(); } @@ -1067,5 +1067,5 @@ public class ProcessoServiceImpl extends GenericServiceImpl impl return this.processoDao.getProcessoByProtocolo(nup); } - + } diff --git a/cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/UnidadeProcessoServiceImpl.java b/cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/UnidadeProcessoServiceImpl.java index 7ff48e5..b73d408 100644 --- a/cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/UnidadeProcessoServiceImpl.java +++ b/cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/UnidadeProcessoServiceImpl.java @@ -26,6 +26,9 @@ import br.com.centralit.framework.service.arquitetura.GenericServiceImpl; import br.com.centralit.framework.util.UtilColecao; import br.com.centralit.framework.util.UtilObjeto; +import com.googlecode.genericdao.search.ISearch; +import com.googlecode.genericdao.search.SearchResult; + /** *

* @@ -319,5 +322,16 @@ public class UnidadeProcessoServiceImpl extends GenericServiceImpl SearchResult + */ + @Override + public SearchResult searchAndCountPorUnidade(ISearch search) { + return this.unidadeProcessoDao.searchAndCountPorUnidade(search); + } + +} \ No newline at end of file diff --git a/cit-ecm-web/src/main/java/br/com/centralit/controller/ProcessoController.java b/cit-ecm-web/src/main/java/br/com/centralit/controller/ProcessoController.java index 920259b..1810353 100644 --- a/cit-ecm-web/src/main/java/br/com/centralit/controller/ProcessoController.java +++ b/cit-ecm-web/src/main/java/br/com/centralit/controller/ProcessoController.java @@ -1,7 +1,6 @@ package br.com.centralit.controller; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -18,7 +17,6 @@ import br.com.centralit.framework.json.ResponseBodyWrapper; import br.com.centralit.framework.json.Views; import br.com.centralit.framework.json.Views.GenericView; import br.com.centralit.framework.model.SearchParams; -import br.com.centralit.framework.model.Usuario; import br.com.centralit.framework.util.UtilString; import br.com.centralit.framework.view.GridVH; import br.com.centralit.framework.view.ResultResponseVH; @@ -26,6 +24,7 @@ import br.com.centralit.framework.view.ResultResponseVH; import com.googlecode.genericdao.search.Search; import com.googlecode.genericdao.search.SearchResult; +@SuppressWarnings("unchecked") @Controller @RequestMapping("/rest/processo") public class ProcessoController extends GenericController { @@ -160,14 +159,17 @@ public class ProcessoController extends GenericController { search.setResultMode(Search.RESULT_MAP); SearchResult searchResult = null; - - if (!UtilString.isNullOrEmpty(searchParams.getNome()) && searchParams.getNome().equals("GRID_CLASSIFICACAO_PROCESSO_DOCUMENTO")) { - - searchResult = this.processoService.searchAndCountPorSigilo(search); - - } else { - - searchResult = genericService.searchAndCount(search); + + String nomeGrid = UtilString.isNullOrEmpty(searchParams.getNome()) ? "" : searchParams.getNome(); + + switch (nomeGrid) { + case Processo.GRID_CLASSIFICACAO_PROCESSO_DOCUMENTO: + searchResult = this.processoService.searchAndCountPorSigilo(search); + break; + + default: + searchResult = genericService.searchAndCount(search); + break; } // DETERMINA QUAIS OS CAMPOS VAI CONSULTAR diff --git a/cit-ecm-web/src/main/java/br/com/centralit/controller/UnidadeProcessoController.java b/cit-ecm-web/src/main/java/br/com/centralit/controller/UnidadeProcessoController.java index 9e667d4..070aee4 100644 --- a/cit-ecm-web/src/main/java/br/com/centralit/controller/UnidadeProcessoController.java +++ b/cit-ecm-web/src/main/java/br/com/centralit/controller/UnidadeProcessoController.java @@ -10,12 +10,20 @@ import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; +import com.googlecode.genericdao.search.Search; +import com.googlecode.genericdao.search.SearchResult; + +import br.com.centralit.api.model.Processo; import br.com.centralit.api.model.UnidadeProcesso; import br.com.centralit.api.service.UnidadeProcessoService; import br.com.centralit.api.viewHelper.EnviarProcessoVH; import br.com.centralit.framework.controller.GenericController; +import br.com.centralit.framework.dao.arquitetura.SearchSeven; import br.com.centralit.framework.json.ResponseBodyWrapper; import br.com.centralit.framework.json.Views; +import br.com.centralit.framework.model.SearchParams; +import br.com.centralit.framework.util.UtilString; +import br.com.centralit.framework.view.GridVH; import br.com.centralit.framework.view.ResultResponseVH; /** @@ -50,6 +58,7 @@ import br.com.centralit.framework.view.ResultResponseVH; * @author rogerio.costa * */ +@SuppressWarnings({"unchecked", "rawtypes"}) @Controller @RequestMapping("/rest/unidadeProcesso") public class UnidadeProcessoController extends GenericController { @@ -118,6 +127,42 @@ public class UnidadeProcessoController extends GenericController getEditView() { 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 edca19c..1dcd7fb 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 @@ -402,7 +402,7 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.NOME_NOVO_SUPORTE ", "Nome do suporte", dominio, modulo)); internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.NOVO_TIPO_SUPORTE ", "Novo tipo suporte de documento", dominio, modulo)); internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.TIPO_SUPORTE_DOCUMENTO ", "Tipo suporte de documento", dominio, modulo)); - + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.DIGITE_PROTOCOLO", "Digite o potocolo", dominio, modulo)); } 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 ba50533..9980a8a 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 @@ -1,445 +1,67 @@ 'use strict'; -citApp.controller('GerenciarProcessoListUnidadeController', ['$scope', 'workflowFilterCriteriaService', 'appService', 'environmentService', 'FormBuilderRepository', 'FlowRepository', 'BusinessProcessRepository', 'RuntimeManagerRepository', 'DomainRepository', '$compile', '$translate', '$modal', '$injector', '$parse', '$rootScope', '$timeout', 'BusinessProcessCategoryRepository','ProcessoRepository', - function GerenciarProcessoListUnidadeController($scope, workflowFilterCriteriaService, appService, environmentService, FormBuilderRepository, FlowRepository, BusinessProcessRepository, RuntimeManagerRepository, DomainRepository, $compile, $translate, $modal, $injector, $parse, $rootScope, $timeout, BusinessProcessCategoryRepository, ProcessoRepository) { - $scope.compile = $compile; +citApp.controller('GerenciarProcessoListUnidadeController', ['$scope', 'workflowFilterCriteriaService', 'appService', 'environmentService', 'FormBuilderRepository', 'FlowRepository', 'BusinessProcessRepository', 'RuntimeManagerRepository', 'DomainRepository', '$compile', '$translate', '$modal', '$injector', '$parse', '$rootScope', '$timeout', 'BusinessProcessCategoryRepository', 'GerenciarProcessoRepository', 'UnidadeProcessoRepository', 'DominioRepository', '$filter', + function GerenciarProcessoListUnidadeController($scope, workflowFilterCriteriaService, appService, environmentService, FormBuilderRepository, FlowRepository, BusinessProcessRepository, RuntimeManagerRepository, DomainRepository, $compile, $translate, $modal, $injector, $parse, $rootScope, $timeout, BusinessProcessCategoryRepository, GerenciarProcessoRepository, UnidadeProcessoRepository, DominioRepository, $filter) { + $scope.$showAdvancedFilters = false; - $scope.workflowFilterCriteriaService = workflowFilterCriteriaService; - - $scope.signalEventInput = new SignalEventInput("", "", "", "", "", 0); - $scope.totalPagesFluxo = 10; - $scope.totalItensFluxo = 0; - - $scope.totalPages = 10; - $scope.totalItens = 0; - $scope.limit = 10; - $scope.processos = []; - $scope.businessProcess = null; - $scope.indexProcessoNegocio = null; - - $scope.idPainelItem = 0; - - $scope.tabAtual = 0; - - $scope.tabs = [ {active: true} - ,{active: false} - ]; - - // default criteria that will be sent to the server to request data from WorkItem + $scope.headers = [ { + title : $translate.instant('ECM.LABEL.PROTOCOLO'), + value : 'processo.nup' + }, { + title : $translate.instant('ECM.LABEL.TIPOPROCESSO'), + value : 'processo.tipoProcesso.descricao' + }, { + title : $translate.instant('ECM.LABEL.ATRIBUIDOA'), + value : 'usuarioResponsavel.username' + }, { + title : $translate.instant('LABEL.SITUACAO'), + value : 'processo.status.descricao' + }, { + title : $translate.instant('ECM.LABEL.NIVEL_SIGILO'), + value : 'processo.sigilo.tipoSigilo.descricao' + }, { + title : $translate.instant('LABEL.DATA_DE_CRIACAO'), + value : 'processo.dataCriacao', + filter : 'dateBR' + }, { + title : $translate.instant('LABEL.DATA_RECEBIMENTO'), + value : 'processo.dataReferencia', + filter : 'dateBR' + }]; + $scope.filterCriteria = { - start : 1, - sort : 'workItem.id', - limit : 10, - deadline : 1, - processDeadline : 1, - timeManagementStatus : "", - fields : [ 'workItem.id'], - filters : [{type: 'numeric', field: 'workItem.id'} - , {type: 'string', field: 'workItem.flowElement.name'} - , {type: 'numeric', field: 'workItem.processInstance.id'} - , {type: 'string', field: 'workItem.processInstance.businessProcess.description'} - , {type: 'string', field: 'workItem.processInstance.flowStatus.name'}] - }; - - $scope.fetchBusinessProcess = function() { - $scope.setLoading(true); - $scope.categorias = []; - BusinessProcessCategoryRepository.findParents().then(function(result) { - for(var i = 0; i < result.length; i++) { - result[i].originalElement.sinalPositivo = result[i].originalElement.hasChildren || result[i].originalElement.hasProcesses; - $scope.categorias.push(result[i].originalElement); - } - $scope.setLoading(false); - }, function() { - $scope.setLoading(false); - }); - }; - - $scope.filterProcessos = { + nome : 'GRID_PROCESSO_NA_UNIDADE', start : 1, dir : 'asc', - sort : 'name', - limit : 999999, - fields: ['id', 'category.name', 'description', 'flow.description'], - filters : [{type: 'numeric', field: 'category.id'}, {type: 'string', field: 'category.name'}, {type: 'string', field: 'description'}, {type: 'string', field: 'flow.description'}] - }; - - // Will be called when filtering the grid, will reset the page number to one - $scope.filterResult = function() { - - //Timeout adicionado para que os filtros de pesquisa funcionem - $timeout(function(){ - $scope.filterCriteria.start = 1; - $scope.fetchResult().then(function() { - // The request fires correctly but sometimes the ui doesn't update, - // that's a fix - $scope.filterCriteria.start = 1; - }); - - }); - }; - - // call back function that we passed to our custom directive sortBy, will be - // called when clicking on any field to sort - $scope.onSort = function(sortedBy, sortDir) { - $scope.filterCriteria.dir = sortDir; - $scope.filterCriteria.sort = sortedBy; - $scope.filterCriteria.start = 1; - $scope.fetchResult().then(function() { - // The request fires correctly but sometimes the ui doesn't update, - // that's a fix - $scope.filterCriteria.start = 1; - }); - }; - - // RECUPERA LISTA DE TAREFAS E SETA RESULTADO NA GRID - $scope.fetchResult = function(page) { - $scope.setLoading(true); - - return BusinessProcessRepository.tasksByParam($scope.filterCriteria).then(function(result) { - var dataAtual = new Date(); - - $scope.assignments = result.originalElement.objects; - angular.forEach($scope.assignments, function (assignment) { - assignment.classePrazoProcesso = new Date(assignment.processInstance.estimatedEndTimestamp) >= dataAtual ? 'green' : 'red'; - assignment.classePrazoTarefa = new Date(assignment.estimatedEndTimestamp) >= dataAtual ? 'green' : 'red'; - - ProcessoRepository.getProcessoByIdProcessInstance(assignment.processInstance.id).then(function(result) { - if( result){ - assignment.processo = result.originalElement; - } - }); - - }); - - $scope.totalPages = result.originalElement.totalPages; - $scope.totalItens = result.originalElement.totalItens; - $scope.setLoading(false); - }, function() { - $scope.totalPages = 0; - $scope.totalItens = 0; - $scope.setLoading(false); - }); - }; - - $scope.filterSigad = function(){ - - if($scope.processoSigad && $scope.processoSigad != ''){ - ProcessoRepository.getProcessoByProtocolo($scope.processoSigad).then(function(result) { - if(result){ - $scope.filterCriteria.filters[2].value = result.originalElement.idProcessInstance; - $timeout(function(){ - $scope.filterResult(); - }); - }else{ - $scope.filterCriteria.filters[2].value = null; - $scope.filterResult(); - } - }); - }else{ - $scope.filterCriteria.filters[2].value = null; - $scope.filterResult(); - } + sort : 'processo.nup', + limit : 10, + fields: ['id', 'processo.nup', 'processo.tipoProcesso.descricao', 'usuarioResponsavel.username', 'processo.status.descricao', 'processo.sigilo.tipoSigilo.descricao', 'processo.dataCriacao', 'processo.idProcessInstance', 'processo.dataReferencia'], + filters : [ + { type : 'string', field : 'processo.nup'}, + { type : 'string', field : 'processo.tipoProcesso.descricao'}, + { type : 'string', field : 'usuarioResponsavel.username'}, + { type : 'string', field : 'processo.status.descricao', listaDominio : []}, + { type : 'string', field : 'processo.sigilo.tipoSigilo.descricao'}, + { type: 'date-range', field: 'processo.dataCriacao'}, + { type: 'date-range', field: 'processo.dataReferencia'} + ] }; - $scope.filterSigadProtocolo = function(){ - - if($scope.sigadProtocolo && $scope.sigadProtocolo != ''){ - - ProcessoRepository.getProcessoByProtocolo($scope.sigadProtocolo).then(function(result) { - if(result){ - $scope.filterCriteria.filters[2].value = result.originalElement.idProcessInstance; - $timeout(function(){ - $scope.filterResult(); - }); - }else{ - $scope.filterCriteria.filters[2].value = null; - $scope.filterResult(); - } - - }); - - }else{ - $scope.filterCriteria.filters[2].value = null; - $scope.filterResult(); - } - }; - - $scope.recuperarPermissoes = function(assignment){ - assignment.workItem = {}; - BusinessProcessRepository.getPermissions({id: assignment.id}).then(function(result) { - assignment.workItem = result.originalElement; - if (!assignment.workItem.execute && !assignment.workItem.delegate && !assignment.workItem.suspend && !assignment.workItem.restart && !assignment.workItem.visualize) { - $scope.fetchResult(); - } + function carregarDominiosStatusProcesso() { + DominioRepository.findAllDominio('statusProcesso').then(function(result) { + $scope.filterCriteria.filters[3].listaDominio = $filter('orderBy')(result, 'originalElement.descricao', true); }); }; - - $scope.init = function(filter) { - if (filter.businessProcessName) { - $scope.filterCriteria.businessProcessName = ""; - var i = 0; - for (var i = 0; i < filter.businessProcessName.length; i++) { - if (i > 0) { - $scope.filterCriteria.businessProcessName += ","; - } - $scope.filterCriteria.businessProcessName += filter.businessProcessName[i]; - } - } - $scope.filterCriteria.taskName = filter.taskName; - $scope.filterCriteria.username = filter.username; - $scope.filterCriteria.groups = filter.groups; - }; - $scope.executarTarefa = function(assignment){ - $scope.task = assignment.workItem; - - var pagina = '/cit-esi-web/assets/js/angular/custom/directive/html/userTask.html'; - if ($scope.task.flowElement.userInterface && $scope.task.flowElement.userInterface.executeCustomPage) { - pagina = $scope.task.flowElement.userInterface.URLCustomPage; - $scope.abrirPaginaTarefa(pagina); - }else if ($scope.task.flowElement.userInterface && $scope.task.flowElement.userInterface.resource && $scope.task.flowElement.userInterface.resourceName) { - FormBuilderRepository.getByName($scope.task.flowElement.userInterface.resourceName).then(function(result) { - pagina = '/cit-esi-web/forms/'+result.originalElement.path+'/'+result.originalElement.resource.name+"_task.html"; - $scope.abrirPaginaTarefa(pagina); - }); - }else{ - $scope.abrirPaginaTarefa(pagina); - } - }; - - $scope.abrirPaginaTarefa = function(pagina){ - if (appService.existsWorkspace(pagina)) { - $scope.showAlert('warning', $translate.instant('ESI.MSG.JA_EXISTE_TELA_TAREFA')); - return ; - } - - $scope.processInstance = $scope.task.processInstance; - $scope.processInstance.collapsed = true; - $scope.processInstance.collapsedError = true; - - $rootScope.task = $scope.task; - $rootScope.processInstance = $scope.processInstance; - $rootScope.controllerScope = $scope; - - var nome = $scope.task.flowElement.description; - if (!nome || nome == '') - nome = $scope.task.flowElement.name; - - $scope.addNewWorkspace($translate.instant('ESI.PERMISSAO.EXECUTAR')+" "+$translate.instant('ESI.TAREFA').toLowerCase()+" '"+nome+"'", pagina, true, 'mod-orange', $scope.task); - }; - - $scope.delegarTarefa = function(assignment){ - var pagina = '/cit-esi-web/assets/js/angular/custom/directive/html/userTaskDelegation.html'; - - if (appService.existsWorkspace(pagina)) { - $scope.showAlert('warning', $translate.instant('ESI.MSG.JA_EXISTE_TELA_DELEGACAO')); - return ; - } - - $scope.task = assignment.workItem; - - $scope.processInstance = $scope.task.processInstance; - $scope.processInstance.collapsed = true; - $scope.processInstance.collapsedError = true; - - $rootScope.task = $scope.task; - $rootScope.processInstance = $scope.processInstance; - $rootScope.controllerScope = $scope; - - var nome = $scope.task.flowElement.description; - if (!nome || nome == '') - nome = $scope.task.flowElement.name; - - $scope.addNewWorkspace($translate.instant('ESI.PERMISSAO.DELEGAR')+" "+$translate.instant('ESI.TAREFA').toLowerCase()+" '"+nome+"'", pagina, true, 'mod-orange', $scope.task); - }; - - $scope.capturarTarefa = function(assignment){ - $scope.$openModalConfirm({ - message: $translate.instant('ESI.MSG.CONFIRMA_CAPTURA'), - callback: function () { - $scope.$modalConfirmInstance.dismiss('cancel'); - - $scope.setLoading(true,$translate.instant('ESI.CAPTURANDO_TAREFA')+" "+assignment.workItem.flowElement.description); - - var param = new RuntimeEnvironmentInput("",[]); - param.workItemId = assignment.workItem.id; - - RuntimeManagerRepository.captureTask(param).then(function(result) { - $scope.setLoading(false); - $scope.fetchResult(); - $scope.showAlert("success","ESI.MSG.TAREFA_CAPTURADA",""); - }); - } - }); - - }; - - $scope.suspenderProcesso = function(assignment){ - $scope.$openModalConfirm({ - message: $translate.instant('ESI.MSG.CONFIRMA_SUSPENSAO'), - callback: function () { - $scope.$modalConfirmInstance.dismiss('cancel'); - - $scope.setLoading(true); - RuntimeManagerRepository.suspendProcessInstance(assignment.workItem.processInstance.id).then(function(result) { - $scope.setLoading(false); - $scope.fetchResult(); - $scope.showAlert("success","ESI.MSG.PROCESSO_SUSPENSO",""); - }); - } - }); - }; - - $scope.reativarProcesso = function(assignment){ - $scope.$openModalConfirm({ - message: $translate.instant('ESI.MSG.CONFIRMA_REATIVACAO'), - callback: function () { - $scope.$modalConfirmInstance.dismiss('cancel'); - - $scope.setLoading(true); - RuntimeManagerRepository.restartProcessInstance(assignment.workItem.processInstance.id).then(function(result) { - $scope.setLoading(false); - $scope.fetchResult(); - $scope.showAlert("success","ESI.MSG.PROCESSO_REATIVADO",""); - }); - } - }); - }; - - $scope.visualizarFluxo = function(assignment){ - var pagina = '/cit-esi-web/assets/js/angular/custom/directive/html/visualizacaoEsi.html'; - - if (appService.existsWorkspace(pagina)) { - $scope.showAlert('warning', $translate.instant('ESI.MSG.JA_EXISTE_TELA_VISUALIZACAO')); - return ; - } - - $scope.tarefa = assignment.workItem; - $scope.instancia = $scope.tarefa.processInstance; - $rootScope.tarefa = $scope.tarefa; - $rootScope.instancia = $scope.instancia; - $rootScope.controllerScope = $scope; - $scope.addNewWorkspace(assignment.workItem.processInstance.businessProcess.description, pagina, true, 'mod-orange', $scope.tarefa); - }; - - $scope.consultarHistorico = function(assignment){ - var pagina = '/cit-esi-web/assets/js/angular/custom/directive/html/consultaLog.html'; - - if (appService.existsWorkspace(pagina)) { - $scope.showAlert('warning', $translate.instant('ESI.MSG.JA_EXISTE_TELA_HISTORICO')); - return ; - } - - $scope.processInstance = assignment.workItem.processInstance; - $rootScope.processInstance = $scope.processInstance; - $rootScope.controllerScope = $scope; - - $scope.processInstance.collapsed = true; - $scope.processInstance.collapsedError = true; - $scope.processInstance.instances = []; - - $scope.addNewWorkspace(assignment.workItem.processInstance.businessProcess.description, pagina, true, 'mod-orange', $scope.processInstance); - }; - - $scope.retrieveAditionalHtml = function(assignment) { - assignment.$show = !assignment.$show; - if (!assignment.$show) - return; - - if (!assignment.workItem) { - BusinessProcessRepository.getPermissions({id: assignment.id}).then(function(result) { - assignment.workItem = result.originalElement; - $scope.showAditionalHtml(assignment.workItem); - }); - }else{ - $scope.showAditionalHtml(assignment.workItem); - } - }; - - $scope.showAditionalHtml = function(workItem) { - var id = "divHtmlAdicional_" + $scope.idPainelItem + "_" + workItem.id; - - var el = document.getElementById(id); - if (!el || el.innerHTML != '') - return; - - var element = angular.element("#"+id); - environmentService.retrieveAditionalHtml($scope, workItem, element, $injector); - el.focus(); - }; - - $scope.signalEvent = function() { - $scope.setLoading(true); - RuntimeManagerRepository.signalEvent($scope.signalEventInput).then(function(result) { - $scope.setLoading(false); - }); - }; - - $scope.getAplicacaoFluxo = function(processoNegocio) { - return DomainRepository.getEnumDescription(processoNegocio['flow.flowApplication'], $scope.aplicacaoFluxo); - }; - - $scope.getTimeManagementStatus = function(processInstance) { - if (processInstance && processInstance.timeManagementStatus) { - processInstance.backgroundColorTimeStatus = processInstance.timeManagementStatus === 'SUSPENDED' ? "red" : processInstance.timeManagementStatus === 'NOT_STARTED' ? "yellow-dark" : "green"; - processInstance.textColorTimeStatus = processInstance.timeManagementStatus === 'NOT_STARTED' ? "black" : "white"; - return DomainRepository.getEnumDescription(processInstance.timeManagementStatus, $scope.timeManagementStatus); - }else{ - return ""; - } + var filterCriteriaDefault = angular.copy($scope.filterCriteria); + + $scope.atualizarGrid = function() { + $scope.filterCriteria = angular.copy(filterCriteriaDefault); + carregarDominiosStatusProcesso(); + $scope.filterResult(); }; -/* $scope.mostrarFilhos = function(categoriaSelecionada){ - - // Valida se a estrutura possui filho - if(categoriaSelecionada.sinalPositivo) { - categoriaSelecionada.sinalPositivo = !categoriaSelecionada.sinalPositivo; - - $scope.setLoadingPesquisa(true); - - categoriaSelecionada.subCategories = []; - - var categoria = categoriaSelecionada.originalElement ? categoriaSelecionada.originalElement : categoriaSelecionada; - - $scope.scrollToCadastro('#categoria_'+categoria.id); - - $scope.recuperaProcessos(categoria); - - // busca os filhos da estrutura selecionada - BusinessProcessCategoryRepository.findChildrens(categoria.id).then(function(result) { - // Percorre as estruturas filhas setando a propriedade do sinal positivo/negativo e adiciona o filho na lista de filhos da estrutura selecionada - angular.forEach(result, function(categoriaFilha){ - categoriaFilha.originalElement.sinalPositivo = categoriaFilha.originalElement.hasChildren || categoriaFilha.originalElement.hasProcesses; - categoriaSelecionada.subCategories.push(categoriaFilha.originalElement); - categoriaFilha.originalElement.subCategories = []; - //$scope.recuperaProcessos(categoriaFilha); - }); - $scope.setLoadingPesquisa(false); - }); - - } else { - - categoriaSelecionada.sinalPositivo = !categoriaSelecionada.sinalPositivo; - - categoriaSelecionada.subCategories = []; - - categoriaSelecionada.processos = []; - } - - };*/ + carregarDominiosStatusProcesso(); - $scope.recuperaProcessos = function(categoria) { - $scope.setLoadingPesquisa(true); - categoria.processos = []; - $scope.filterProcessos.filters[0].value = categoria.id; - BusinessProcessRepository.getProcessesForStart($scope.usuarioLogado.username, $scope.filterProcessos).then(function(result) { - categoria.processos = result.originalElement.objects; - }); - }; - - $scope.fetchResult(); -}]); - - +}]); \ No newline at end of file diff --git a/cit-ecm-web/src/main/webapp/html/gerenciarProcesso/gerenciarProcessoListUnidade.html b/cit-ecm-web/src/main/webapp/html/gerenciarProcesso/gerenciarProcessoListUnidade.html index 26a5583..d13f65b 100644 --- a/cit-ecm-web/src/main/webapp/html/gerenciarProcesso/gerenciarProcessoListUnidade.html +++ b/cit-ecm-web/src/main/webapp/html/gerenciarProcesso/gerenciarProcessoListUnidade.html @@ -1,277 +1,25 @@ -

+
-
-
-
-
-
- -
-
-
-
-
- -
- - -
-
-
- - -
-
- -
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ECM.LABEL.PROTOCOLOESI.TAREFALABEL.PROCESSO_NEGOCIOLABEL.ACOESPORTAL.LABEL.SITUACAO_INSTANCIA
-
-
- LABEL.MOSTRANDO - {{filterCriteria.start}} - LABEL.ATE - {{filterCriteria.limit > totalItens ? totalItens : filterCriteria.limit}} - LABEL.DE - ({{totalItens}}) - ESI.TAREFAS - . -
-
- -
- -
-
-
-
- -
- -
- -
  -
-
- -
- -
-
-
-
- -
- -
-
-
-
- -
- -
-
  -
-
- -
- -
-
{{assignment.processo.nup}} - - {{assignment.processo.tipoProcesso.nome}}{{assignment.id}}{{assignment.flowElement.name}}{{assignment.processInstance.businessProcess.description}} - - {{assignment.processInstance.flowStatus.name}} - ESI.ENUMERADO.SITUACAO_INSTANCIA_SUSPENSA -
  - -
- -
- - ESI.INFORMACOES_ADICIONAIS - - -
-
- - -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
- - -
- -
- -
- -
-
- - -
- -
-
MSG.NENHUM_REGISTRO_ENCONTRADO
- -
-
-
- -
- -
- \ No newline at end of file + + +
+ +
+ \ No newline at end of file diff --git a/cit-ecm-web/src/main/webapp/html/gerenciarProcesso/tarefasPorProcesso.html b/cit-ecm-web/src/main/webapp/html/gerenciarProcesso/tarefasPorProcesso.html new file mode 100644 index 0000000..5c3d76b --- /dev/null +++ b/cit-ecm-web/src/main/webapp/html/gerenciarProcesso/tarefasPorProcesso.html @@ -0,0 +1,11 @@ + + + + + + + + + + +
TarefaBPE
vaiiicurinthia
-- libgit2 0.21.2