diff --git a/cit-ecm-api/src/main/java/br/com/centralit/api/model/PlanoClassificacao.java b/cit-ecm-api/src/main/java/br/com/centralit/api/model/PlanoClassificacao.java index 2d66da9..435af69 100644 --- a/cit-ecm-api/src/main/java/br/com/centralit/api/model/PlanoClassificacao.java +++ b/cit-ecm-api/src/main/java/br/com/centralit/api/model/PlanoClassificacao.java @@ -77,7 +77,7 @@ public class PlanoClassificacao extends PersistentObjectAuditOrganizacao impleme private String codigo; /** Atributo nome. */ - @JsonView({ ViewsEcm.PlanoClassificacaoListView.class, ViewsEcm.PlanoClassificacaoParent.class, ViewsEcm.PlanoClassificacaoAutocompleteRecursive.class, ViewsEcm.PlanoCLassificacaoAutoComplete.class, ViewsEcm.TipoDocumentoEdit.class, ViewsEcm.PlanoCLassificacaoAutoComplete.class, ViewsEcm.TipoProcessoEdit.class, ViewsEcm.DocumentoGedEdit.class, ViewsEcm.ProcessoEdit.class, Views.UnidadeProcessoListView.class }) + @JsonView({ ViewsEcm.PlanoClassificacaoListView.class, ViewsEcm.PlanoClassificacaoParent.class, ViewsEcm.PlanoClassificacaoAutocompleteRecursive.class, ViewsEcm.PlanoCLassificacaoAutoComplete.class, ViewsEcm.TipoDocumentoEdit.class, ViewsEcm.PlanoCLassificacaoAutoComplete.class, ViewsEcm.TipoProcessoEdit.class, ViewsEcm.DocumentoGedEdit.class, ViewsEcm.ProcessoEdit.class }) private String nome; /** Atributo observacao. */ @@ -100,7 +100,7 @@ public class PlanoClassificacao extends PersistentObjectAuditOrganizacao impleme private Boolean permitirUsarComoClassificacao; @Transient - @JsonView({ ViewsEcm.PlanoCLassificacaoAutoComplete.class, ViewsEcm.TipoDocumentoEdit.class, ViewsEcm.TipoProcessoEdit.class, Views.ProcessoList.class, Views.DocumentoGedEdit.class, ViewsEcm.TipoDocumentoPlanoClassificacaoAutoCompleteView.class}) + @JsonView({ ViewsEcm.PlanoCLassificacaoAutoComplete.class, ViewsEcm.TipoDocumentoEdit.class, ViewsEcm.TipoProcessoEdit.class, Views.ProcessoList.class, Views.DocumentoGedEdit.class, ViewsEcm.TipoDocumentoPlanoClassificacaoAutoCompleteView.class, Views.UnidadeProcessoListView.class }) private String assunto; /** Atributo tipoDestinacao. */ 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 bc62300..0e51c8b 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 @@ -83,7 +83,7 @@ public class Processo extends PersistentObjectUnidade { private Long id; /** Atributo assuntoComplementar. */ - @JsonView({ Views.ProcessoList.class }) + @JsonView({ Views.ProcessoList.class, Views.UnidadeProcessoListView.class }) private String assuntoComplementar; /** Atributo dataReferencia. */ 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 1dcd7fb..618f5e9 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 @@ -403,6 +403,7 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen 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)); + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.SOBRESTAR_SEM", "Sobrestar", dominio, modulo)); } @@ -507,6 +508,7 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen internacionalizacaoList.add(new Internacionalizacao("ECM.MSG.LEGENDA_CAMPO_DINAMICO_NUMERO_DOCUMENTO", "Use: @numeroDocumento@ para adicionar o número do documento", dominio, modulo)); internacionalizacaoList.add(new Internacionalizacao("ECM.MSG.PROCESSO_CONCLUIDO_SUCESSO", "Processo concluído com sucesso!", dominio, modulo)); internacionalizacaoList.add(new Internacionalizacao("ECM.MSG.PROCESSO_SALVO_SUCESSO", "O processo !", dominio, modulo)); + internacionalizacaoList.add(new Internacionalizacao("ECM.MSG.NAO_EXISTE_TAREFA_EXECUTAR", "Não existem tarefas a serem executadas!", 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 7b99cae..7418aaa 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 @@ -4,8 +4,7 @@ citApp.controller('GerenciarProcessoListUnidadeController', ['$scope', 'workflow 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.processo = {}; + $scope.btnAction = false; $scope.headers = [ { title : $translate.instant('ECM.LABEL.PROTOCOLO'), @@ -14,8 +13,8 @@ citApp.controller('GerenciarProcessoListUnidadeController', ['$scope', 'workflow title : $translate.instant('ECM.LABEL.TIPOPROCESSO'), value : 'processo.tipoProcesso.descricao' }, { - title : $translate.instant('ECM.LABEL.ASSUNTO'), - value : 'processo.assunto.nome' + title : $translate.instant('ECM.LABEL.ASSUNTOCOMPLEMENTAR'), + value : 'processo.assuntoComplementar' }, { title : $translate.instant('ECM.LABEL.ATRIBUIDOA'), value : 'usuarioResponsavel.username' @@ -25,14 +24,6 @@ citApp.controller('GerenciarProcessoListUnidadeController', ['$scope', 'workflow }, { 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 = { @@ -41,22 +32,20 @@ citApp.controller('GerenciarProcessoListUnidadeController', ['$scope', 'workflow dir : 'asc', sort : 'processo.nup', limit : 10, - fields: ['id', 'processo.nup', 'processo.tipoProcesso.descricao', 'processo.assunto.nome','usuarioResponsavel.username', 'processo.status.descricao', 'processo.sigilo.tipoSigilo.descricao', 'processo.dataCriacao', 'processo.idProcessInstance', 'processo.dataReferencia', 'processo'], + fields: ['id', 'processo.nup', 'processo.tipoProcesso.descricao', 'processo.assuntoComplementar','usuarioResponsavel.username', 'processo.status.descricao', 'processo.sigilo.tipoSigilo.descricao', 'processo.dataCriacao', 'processo.idProcessInstance', 'processo.dataReferencia', 'processo.assunto'], filters : [ { type : 'string', field : 'processo.nup'}, { type : 'string', field : 'processo.tipoProcesso.descricao'}, - { type : 'string', field : 'processo.assunto.nome'}, + { type : 'string', field : 'processo.assuntoComplementar'}, { 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'} + { type : 'string', field : 'processo.sigilo.tipoSigilo.descricao'} ] }; function carregarDominiosStatusProcesso() { DominioRepository.findAllDominio('statusProcesso').then(function(result) { - $scope.filterCriteria.filters[3].listaDominio = $filter('orderBy')(result, 'originalElement.descricao', true); + $scope.filterCriteria.filters[4].listaDominio = $filter('orderBy')(result, 'originalElement.descricao', true); }); }; @@ -68,10 +57,127 @@ citApp.controller('GerenciarProcessoListUnidadeController', ['$scope', 'workflow $scope.filterResult(); }; - carregarDominiosStatusProcesso(); + $scope.abrirNovoProcesso = function() { + $scope.openWorkspaceIfNotOpen($translate.instant('ECM.LABEL.NOVOPROCESSO'), '/cit-ecm-web/html/processo/processoEdit.html', 'mod-orange'); + $timeout(function() { + angular.element('#editProcessoEcm').scope().$showPageEditWorkspace(angular.element('#editProcessoEcm').scope().workspace); + $timeout(function(){ + angular.element('#editProcessoEcm').scope().resetForm(); + }, 1000); + + }, 300); + }; $scope.obterTransclude = function() { - $scope.modelSelecionado = $scope.$$childTail.modelParent; + _getProcesso(); + if($scope.modelSelecionado){ + _getFilterCriteriaTarefa(); + _fetchBusinessProcess(); + } + }; + + function _getProcesso(){ + $scope.modelSelecionado = {}; + for(var count = 0; count < $scope.processos.length; count++){ + if($scope.processos[count].$show) { + $scope.modelSelecionado = $scope.processos[count]; + break; + } + } + + }; + + function _getFilterCriteriaTarefa(){ + var filterService = workflowFilterCriteriaService.getDefaultFilterCriteria(); + $scope.filterCriteriaBusinessProcess = { + start : 1, + sort : 'workItem.processInstance.id', + limit : 10, + deadline : 1, + processDeadline : 1, + timeManagementStatus : "", + fields : [ 'workItem.id', 'workItem.processInstance.id'], + filters : [{type: 'numeric', field: 'workItem.processInstance.id', value : $scope.modelSelecionado['processo.idProcessInstance']} + , {type: 'string', field: 'workItem.flowElement.name'} + , {type: 'string', field: 'workItem.processInstance.businessProcess.description'} + , {type: 'string', field: 'workItem.processInstance.flowStatus.name'}] + }; + + $scope.filterCriteriaBusinessProcess.username = filterService.username; + $scope.filterCriteriaBusinessProcess.groups = filterService.groups; + } + + function _fetchBusinessProcess() { + $scope.assignments = []; + $scope.btnAction = false; + $scope.tarefaSelecionada = null; + $scope.workItem = null; + BusinessProcessRepository.tasksByParam($scope.filterCriteriaBusinessProcess).then(function(result) { + $scope.assignments = result.originalElement.objects; + if($scope.assignments.length > 0) + _recuperarPermissoes($scope.assignments[0].id); + else + $scope.modelSelecionado.$expandido = !$scope.modelSelecionado.$expandido; + }); + }; + + $scope.selecionarTarefa = function(tarefaSelecionada) { + //$scope.tarefaSelecionada = tarefaSelecionada; }; + function _recuperarPermissoes(idAssignment){ + $scope.assignments[0].$checked = true; + BusinessProcessRepository.getPermissions({id: idAssignment}).then(function(result) { + $scope.workItem = result.originalElement; + vincularWorkItemAssignments(); + $scope.btnAction = !(!$scope.workItem.execute && !$scope.workItem.suspend && !$scope.workItem.delegate && !$scope.workItem.restart && !$scope.workItem.visualize); + $scope.modelSelecionado.$expandido = !$scope.modelSelecionado.$expandido; + }); + }; + + function vincularWorkItemAssignments(){ + $scope.assignments.forEach(function(assignments){ + assignments.workItem = $scope.workItem; + }); + }; + + $scope.executarTarefa = function(){ + if($scope.workItem){ + var pagina = '/cit-esi-web/assets/js/angular/custom/directive/html/userTask.html'; + if ($scope.workItem.flowElement.userInterface && $scope.workItem.flowElement.userInterface.executeCustomPage) { + pagina = $scope.workItem.flowElement.userInterface.URLCustomPage; + _abrirPaginaTarefa(pagina); + }else if ($scope.workItem.flowElement.userInterface && $scope.workItem.flowElement.userInterface.resource && $scope.workItem.flowElement.userInterface.resourceName) { + FormBuilderRepository.getByName($scope.workItem.flowElement.userInterface.resourceName).then(function(result) { + pagina = '/cit-esi-web/forms/'+result.originalElement.path+'/'+result.originalElement.resource.name+"_task.html"; + _abrirPaginaTarefa(pagina); + }); + }else{ + _abrirPaginaTarefa(pagina); + } + } + }; + + function _abrirPaginaTarefa(pagina){ + if (appService.existsWorkspace(pagina)) { + $scope.showAlert('warning', $translate.instant('ESI.MSG.JA_EXISTE_TELA_TAREFA')); + return ; + } + + $scope.processInstance = $scope.workItem.processInstance; + $scope.processInstance.collapsed = true; + $scope.processInstance.collapsedError = true; + + $rootScope.task = $scope.workItem; + $rootScope.processInstance = $scope.processInstance; + $rootScope.controllerScope = $scope; + + var nome = $scope.task.flowElement.description; + if (!nome || nome == '') + nome = $scope.workItem.flowElement.name; + + $scope.addNewWorkspace($translate.instant('ESI.PERMISSAO.EXECUTAR')+" "+$translate.instant('ESI.TAREFA').toLowerCase()+" '"+nome+"'", pagina, true, 'mod-red-dark', $scope.workItem); + }; + + carregarDominiosStatusProcesso(); }]); \ 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 17438e3..e240b96 100644 --- a/cit-ecm-web/src/main/webapp/html/gerenciarProcesso/gerenciarProcessoListUnidade.html +++ b/cit-ecm-web/src/main/webapp/html/gerenciarProcesso/gerenciarProcessoListUnidade.html @@ -3,6 +3,11 @@
+
\ 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 index df4c571..c13637d 100644 --- a/cit-ecm-web/src/main/webapp/html/gerenciarProcesso/tarefasPorProcesso.html +++ b/cit-ecm-web/src/main/webapp/html/gerenciarProcesso/tarefasPorProcesso.html @@ -1,43 +1,43 @@ -
+
-
+
+ {{modelSelecionado['processo.assunto']['assunto']}}
-
- LABEL.DATA_DE_CRIACAO: {{modelSelecionado.processo.dataCriacao | filter : 'dateBR'}} - LABEL.DATA_RECEBIMENTO: {{modelSelecionado.processo.dataReferencia}} +
+
+ LABEL.DATA_DE_CRIACAO: {{modelSelecionado['processo.dataCriacao'] | date : 'dd/MM/yyyy'}}    + LABEL.DATA_RECEBIMENTO: {{modelSelecionado['processo.dataReferencia'] | date : 'dd/MM/yyyy'}} +
-
- - - - - - - @@ -53,25 +53,38 @@ - + - + - 123456{{assignment.id}} + {{assignment.id}} - cassimiro{{assignment.flowElement.name}} + {{assignment.flowElement.name}} - teste{{assignment.processInstance.businessProcess.description}} + + - - - - - + + + ECM.MSG.NAO_EXISTE_TAREFA_EXECUTAR + + -- libgit2 0.21.2