Commit 2c5b9a1d57d8152e1e00aac8cc5f9a5a36b06329

Authored by maycon
1 parent 2c06de05
Exists in master

Redmine #Implementação de reabertura de processo

cit-ecm-api/src/main/java/br/com/centralit/api/model/ReabrirProcesso.java
... ... @@ -10,6 +10,7 @@ import javax.persistence.ManyToOne;
10 10 import br.com.centralit.api.framework.json.ViewsEcm;
11 11 import br.com.centralit.framework.json.Views;
12 12 import br.com.centralit.framework.model.Unidade;
  13 +import br.com.centralit.framework.model.Usuario;
13 14 import br.com.centralit.framework.model.arquitetura.PersistentObjectAudit;
14 15  
15 16 import com.fasterxml.jackson.annotation.JsonView;
... ... @@ -47,7 +48,7 @@ import com.fasterxml.jackson.annotation.JsonView;
47 48 *
48 49 */
49 50 @Entity
50   -public class ReabrirProcesso extends PersistentObjectAudit {
  51 +public class ReabrirProcesso extends PersistentObjectUnidade {
51 52  
52 53 /** Atributo serialVersionUID. */
53 54 private static final long serialVersionUID = 5475560623135006219L;
... ... @@ -65,19 +66,12 @@ public class ReabrirProcesso extends PersistentObjectAudit {
65 66 /** Atributo solicitante. */
66 67 @ManyToOne(fetch = FetchType.LAZY, optional = true)
67 68 @JsonView({ ViewsEcm.ReabrirProcessoListView.class })
68   - private Pessoa solicitante;
69   -
70   - /** Atributo solicitante. */
71   - @ManyToOne(fetch = FetchType.LAZY, optional = true)
72   - @JsonView({ ViewsEcm.ReabrirProcessoListView.class })
73   - private Unidade unidade;
  69 + private Usuario usuarioSolicitante;
74 70  
75 71 @ManyToOne(fetch = FetchType.LAZY, optional = true)
76 72 @JsonView({ ViewsEcm.ReabrirProcessoListView.class })
77 73 private Processo processo;
78 74  
79   - @JsonView({ ViewsEcm.ReabrirProcessoListView.class })
80   - private Long idProcessInstance;
81 75  
82 76 /**
83 77 * Retorna o valor do atributo <code>id</code>
... ... @@ -121,23 +115,23 @@ public class ReabrirProcesso extends PersistentObjectAudit {
121 115 }
122 116  
123 117 /**
124   - * Retorna o valor do atributo <code>solicitante</code>
  118 + * Retorna o valor do atributo <code>usuarioSolicitante</code>
125 119 *
126   - * @return <code>Pessoa</code>
  120 + * @return <code>Usuario</code>
127 121 */
128   - public Pessoa getSolicitante() {
  122 + public Usuario getUsuarioSolicitante() {
129 123  
130   - return this.solicitante;
  124 + return usuarioSolicitante;
131 125 }
132 126  
133 127 /**
134   - * Define o valor do atributo <code>solicitante</code>.
  128 + * Define o valor do atributo <code>usuarioSolicitante</code>.
135 129 *
136   - * @param solicitante
  130 + * @param usuarioSolicitante
137 131 */
138   - public void setSolicitante(Pessoa solicitante) {
  132 + public void setUsuarioSolicitante(Usuario usuarioSolicitante) {
139 133  
140   - this.solicitante = solicitante;
  134 + this.usuarioSolicitante = usuarioSolicitante;
141 135 }
142 136  
143 137 /**
... ... @@ -160,45 +154,4 @@ public class ReabrirProcesso extends PersistentObjectAudit {
160 154 this.processo = processo;
161 155 }
162 156  
163   - /**
164   - * Retorna o valor do atributo <code>idProcessInstance</code>
165   - *
166   - * @return <code>Long</code>
167   - */
168   - public Long getIdProcessInstance() {
169   -
170   - return idProcessInstance;
171   - }
172   -
173   - /**
174   - * Define o valor do atributo <code>idProcessInstance</code>.
175   - *
176   - * @param idProcessInstance
177   - */
178   - public void setIdProcessInstance(Long idProcessInstance) {
179   -
180   - this.idProcessInstance = idProcessInstance;
181   - }
182   -
183   - /**
184   - * Retorna o valor do atributo <code>unidade</code>
185   - *
186   - * @return <code>Unidade</code>
187   - */
188   - public Unidade getUnidade() {
189   -
190   - return unidade;
191   - }
192   -
193   -
194   - /**
195   - * Define o valor do atributo <code>unidade</code>.
196   - *
197   - * @param unidade
198   - */
199   - public void setUnidade(Unidade unidade) {
200   -
201   - this.unidade = unidade;
202   - }
203   -
204 157 }
... ...
cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/ReabrirProcessoController.js
... ... @@ -62,45 +62,24 @@ citApp.controller(&#39;ReabrirProcessoController&#39;, [&#39;$scope&#39;, &#39;ReabrirProcessoReposi
62 62 $scope.limparReabrirProcesso = function(){
63 63 $scope.reabrirProcesso = {};
64 64 };
  65 +
65 66  
66   -
67   - $scope.findAutoCompleteSolicitante = function(value){
68   - return PessoaRepository.findAutoComplete('nome', value).then(function(result) {
69   - return result;
70   - });
71   - };
72   -
73   -
74   -
75   - $scope.findAutoCompleteResponsavel = function(value){
76   - return PessoaRepository.findAutoComplete('nome', value).then(function(result) {
77   - return result;
78   - });
  67 + $scope.findAutoCompleteProcesso = function(value){
  68 +
  69 + return ProcessoRepository.findAutoComplete('nup', value).then(function(result) {
  70 +
  71 + return result;
  72 +
  73 + });
79 74 };
80 75  
81   -
82   -
83   - //Buscar unidade através do nome
84   - $scope.findAutoCompleteUnidade = function(value){
85   - return UnidadeRepository.findAutoComplete('nome', value).then(function(result) {
86   -
87   - var filtroListUnidadeLogada = null;
88   - //Verifica se o usuario contem uma unidade padrão
89   - if($scope.usuarioLogado.unidade){
90   - //Filtro da unidadeParão
91   - filtroListUnidadeLogada = $filter('idNotObject')(result, $scope.usuarioLogado.unidade);
92   - }
93   - //Filtro das unidade adicionadas
94   - return filtroListUnidadeLogada;
95   - });
96   - };
97 76  
98 77 // Consulta entidade e mostra no formulario
99   - $scope.getReabrirProcesso = function(processo, edit){
  78 + $scope.getReabrirProcesso = function(reabrirProcesso, edit){
100 79  
101 80 $scope.setLoadingGet(true);
102   - ProcessoRepository.get(processo.id).then(function(result) {
103   - $scope.reabrirProcesso.processo = result.originalElement;
  81 + ReabrirProcessoRepository.get(reabrirProcesso.id).then(function(result) {
  82 + $scope.reabrirProcesso = result.originalElement;
104 83 $scope.edit = edit;
105 84 $scope.setLoading(false);
106 85 });
... ...
cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/ReabrirProcessoListController.js
1 1 'use strict';
2 2  
3   -citApp.controller('ReabrirProcessoListController', ['$scope', 'ProcessoRepository', '$translate', '$timeout', 'DominioRepository', function ReabrirProcessoListController($scope, ProcessoRepository, $translate, $timeout, DominioRepository) {
  3 +citApp.controller('ReabrirProcessoListController', ['$scope', 'ReabrirProcessoRepository', '$translate', '$timeout', function ReabrirProcessoListController($scope, ReabrirProcessoRepository, $translate, $timeout) {
4 4 $scope.$showAdvancedFilters = false;
5 5  
6 6 $scope.resetForm = function() {
7   - angular.element("#searchProcesso").scope().resetForm();
  7 + angular.element("#editSolicitacaoReaberturaProcesso").scope().resetForm();
8 8 };
9 9  
10   - $scope.headers = [{title : $translate.instant('ECM.LABEL.PROTOCOLO'), value : 'nup' }, {title : $translate.instant('ECM.LABEL.TIPOPROCESSO'), value : 'tipoProcesso.nome'} , {title : $translate.instant('ECM.LABEL.CLASSIFICACAO_ARQUIVISTICA'), value : 'assunto.nome'},
11   - {title : $translate.instant('ECM.LABEL.NIVEL_ACESSO'), value : 'nivelAcesso.nivelAcesso.descricao'}, {title : $translate.instant('ECM.LABEL.CRIADO_EM'), value : 'dataCriacao', filter : 'dateBR' }, {title : $translate.instant('ECM.LABEL.DATA_CONCLUSAO'), value : 'dataConclusao', filter : 'dateBR' },
12   - {title : $translate.instant('ECM.LABEL.PRAZO_TEMPORALIDADE'), value : 'temporalidade.dataFimTemporalidade', filter : 'dateBR'}];
  10 +
  11 + $scope.headers = [ {title : $translate.instant('ECM.LABEL.PROTOCOLO'), value : 'processo.protocolo' } , {title : $translate.instant('ECM.LABEL.SOLICITANTE'), value : 'usuarioSolicitante' } ,
  12 + {title : $translate.instant('ECM.LABEL.SITUACAO'), value : 'situacaoReabertura' }];
13 13  
14 14 $scope.filterCriteria = {
15 15 start : 1,
16 16 dir : 'asc',
17 17 sort : 'id',
18 18 limit : 10,
19   - fields: ['id', 'nup', 'tipoProcesso.nome', 'assunto.nome', 'nivelAcesso.nivelAcesso.descricao', 'dataCriacao', 'dataConclusao'],
20   - filters : [{type : 'string', field : 'nup' },
21   - {type : 'string', field : 'tipoProcesso.nome' } ,
22   - {type : 'string', field : 'assunto.nome' },
23   - {type : 'string', field : 'nivelAcesso.nivelAcesso.descricao' },
24   - {type : 'date', field : 'dataCriacao' },
25   - {type : 'date', field : 'dataConclusao'}]
  19 + fields: ['id', 'processo.Protocolo'],
  20 + filters : [ {type : 'date', field : 'processo.protocolo' } , {type : 'string', field : 'usuarioSolicitante' } , {type : 'string', field : 'situacaoReabertura' }]
26 21 };
27 22  
28   - // ABRI Processo SELECIONADA
  23 +
  24 +
  25 + // ABRI Documento SELECIONADA
29 26 $scope.abrirVisualizar = function(edit){
30   - var processo = $scope.processoChecked;
  27 + var reabrirProcesso = $scope.solicitacaoReaberturaProcessoChecked;
31 28  
32   - if(!processo) {
  29 + if(!reabrirProcesso) {
33 30 $scope.showAlert('warning', !edit ? $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_VISUALIZACAO') : $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_EDICAO'));
34 31 return;
35 32 }
36   - angular.element('#editReabrirProcesso').scope().getReabrirProcesso(processo, edit);
  33 + angular.element('#editReabrirProcesso').scope().getReabrirProcesso(reabrirProcesso, edit);
37 34 $scope.$showPageEditWorkspace($scope.workspace);
38 35 };
39 36  
40   - $scope.viewProcesso = function (){
41   -
42   - var processoView = $scope.processoChecked;
43   -
44   - if ( !processoView ) {
45   - $scope.showAlert( 'warning', !edit ? $translate.instant( 'MSG.SELECIONE_UM_ITEM_PARA_VISUALIZACAO' ) : $translate.instant( 'MSG.SELECIONE_UM_ITEM_PARA_EDICAO' ) );
46   - return;
47   - }
48   -
49   - var pagina = '/cit-ecm-web/html/gerenciarProcessoView/gerenciarProcessoView.html';
50   -
51   - $scope.openWorkspaceIfNotOpen( $translate.instant( 'ECM.LABEL.PROCESSO' ), pagina, 'mod-orange' );
52   -
53   - $timeout( function () {
54   - angular.element( '#viewGerenciarProcesso' ).scope().resetForm();
55   - angular.element( '#viewGerenciarProcesso' ).scope().getProcessoView(processoView );
56   -
57   - }, 400 );
58   -
59   - };
60   -
61 37 }]);
... ...
cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/SolicitacaoReaberturaProcessoController.js 0 → 100644
... ... @@ -0,0 +1,111 @@
  1 +'use strict';
  2 +
  3 +citApp.controller('ReabrirProcessoController', ['$scope', 'ReabrirProcessoRepository','PessoaRepository', 'ProcessoRepository','UnidadeRepository','$filter', '$translate', '$timeout', function ReabrirProcessoController($scope, ReabrirProcessoRepository,PessoaRepository, ProcessoRepository, UnidadeRepository, $filter, $translate, $timeout) {
  4 + $scope.reabrirProcesso = {};
  5 +
  6 + // Limpa formulário para novo cadastro
  7 + $scope.resetForm = function() {
  8 + $scope.limparReabrirProcesso();
  9 + $scope.edit = true;
  10 + $timeout(function(){
  11 + $scope.reabrirProcessoForm.$submitted = false;
  12 + $scope.reabrirProcessoForm.$setPristine();
  13 + });
  14 + };
  15 +
  16 + // Atualiza pagina de pesquisa
  17 + $scope.atualizaPaginaPesquisa = function () {
  18 + angular.element('#searchReabrirProcesso').scope().fetchResult();
  19 + };
  20 +
  21 + // MODAL QUE CONFIRMA REMOVER DO PAIS
  22 + $scope.remove = function(reabrirProcesso){
  23 + $scope.reabrirProcesso = reabrirProcesso;
  24 + $scope.$openModalConfirm({
  25 + message: $translate.instant('MSG.CONFIRMA_EXCLUSAO'),
  26 + callback: function () {
  27 + ReabrirProcessoRepository.remove($scope.reabrirProcesso).then(function() {
  28 +
  29 + $scope.$modalConfirmInstance.dismiss('cancel');
  30 + $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO'));
  31 + angular.element('#searchReabrirProcesso').scope().fetchResult();
  32 +
  33 + $scope.resetForm();
  34 + });
  35 + }
  36 + });
  37 + };
  38 +
  39 + // SALVA O PAIS
  40 + $scope.saveOrUpdate = function(){
  41 + $scope.reabrirProcessoForm.$submitted = true;
  42 +
  43 + //verifica se o formulario está valido para salvar
  44 + if($scope.reabrirProcessoForm.$valid && $scope.reabrirProcesso.texto != ""){
  45 +
  46 + $scope.setLoadingSalva(true);
  47 +
  48 + ReabrirProcessoRepository.save($scope.reabrirProcesso).then(function(result) {
  49 + $scope.reabrirProcesso = result.originalElement;
  50 + $scope.showAlert("success", $translate.instant('MSG.REGISTRO_SALVO'));
  51 + $scope.reabrirProcessoForm.$submitted = false;
  52 + $scope.setLoading(false);
  53 + });
  54 + }else{
  55 + //Mensagem de erro de campos obrigatorios não preenchidos
  56 + $scope.showAlert('error', $translate.instant('MSG.MN001'), " ", false);
  57 + }
  58 +
  59 + };
  60 +
  61 + // Limpa o formulario preenchido
  62 + $scope.limparReabrirProcesso = function(){
  63 + $scope.reabrirProcesso = {};
  64 + };
  65 +
  66 +
  67 + $scope.findAutoCompleteSolicitante = function(value){
  68 + return PessoaRepository.findAutoComplete('nome', value).then(function(result) {
  69 + return result;
  70 + });
  71 + };
  72 +
  73 +
  74 +
  75 + $scope.findAutoCompleteResponsavel = function(value){
  76 + return PessoaRepository.findAutoComplete('nome', value).then(function(result) {
  77 + return result;
  78 + });
  79 + };
  80 +
  81 +
  82 +
  83 + //Buscar unidade através do nome
  84 + $scope.findAutoCompleteUnidade = function(value){
  85 + return UnidadeRepository.findAutoComplete('nome', value).then(function(result) {
  86 +
  87 + var filtroListUnidadeLogada = null;
  88 + //Verifica se o usuario contem uma unidade padrão
  89 + if($scope.usuarioLogado.unidade){
  90 + //Filtro da unidadeParão
  91 + filtroListUnidadeLogada = $filter('idNotObject')(result, $scope.usuarioLogado.unidade);
  92 + }
  93 + //Filtro das unidade adicionadas
  94 + return filtroListUnidadeLogada;
  95 + });
  96 + };
  97 +
  98 + // Consulta entidade e mostra no formulario
  99 + $scope.getReabrirProcesso = function(processo, edit){
  100 +
  101 + $scope.setLoadingGet(true);
  102 + ProcessoRepository.get(processo.id).then(function(result) {
  103 + $scope.reabrirProcesso.processo = result.originalElement;
  104 + $scope.edit = edit;
  105 + $scope.setLoading(false);
  106 + });
  107 + };
  108 +
  109 +}]);
  110 +
  111 +
... ...
cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/SolicitacaoReaberturaProcessoListController.js 0 → 100644
... ... @@ -0,0 +1,37 @@
  1 +'use strict';
  2 +
  3 +citApp.controller('SolicitacaoReaberturaProcessoListController', ['$scope', 'ReabrirProcessoRepository', '$translate', '$timeout', function ReabrirProcessoListController($scope, ReabrirProcessoRepository, $translate, $timeout) {
  4 + $scope.$showAdvancedFilters = false;
  5 +
  6 + $scope.resetForm = function() {
  7 + angular.element("#editSolicitacaoReaberturaProcesso").scope().resetForm();
  8 + };
  9 +
  10 +
  11 + $scope.headers = [ {title : $translate.instant('ECM.LABEL.PROTOCOLO'), value : 'processo.protocolo' } , {title : $translate.instant('ECM.LABEL.SOLICITANTE'), value : 'usuarioSolicitante' } ,
  12 + {title : $translate.instant('ECM.LABEL.SITUACAO'), value : 'situacaoReabertura' }];
  13 +
  14 + $scope.filterCriteria = {
  15 + start : 1,
  16 + dir : 'asc',
  17 + sort : 'id',
  18 + limit : 10,
  19 + fields: ['id', 'processo.Protocolo'],
  20 + filters : [ {type : 'date', field : 'processo.protocolo' } , {type : 'string', field : 'usuarioSolicitante' } , {type : 'string', field : 'situacaoReabertura' }]
  21 + };
  22 +
  23 +
  24 +
  25 + // ABRI Documento SELECIONADA
  26 + $scope.abrirVisualizar = function(edit){
  27 + var reabrirProcesso = $scope.solicitacaoReaberturaProcessoChecked;
  28 +
  29 + if(!reabrirProcesso) {
  30 + $scope.showAlert('warning', !edit ? $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_VISUALIZACAO') : $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_EDICAO'));
  31 + return;
  32 + }
  33 + angular.element('#editReabrirProcesso').scope().getReabrirProcesso(reabrirProcesso, edit);
  34 + $scope.$showPageEditWorkspace($scope.workspace);
  35 + };
  36 +
  37 +}]);
... ...
cit-ecm-web/src/main/webapp/html/reabrirProcesso/reabrirProcessoEdit.html
... ... @@ -49,26 +49,14 @@
49 49 </legend>
50 50  
51 51 </fieldset>
52   -<!--
53   - <div class="row">
54   - <div class="col-sm-8">
55   - <label><translate>ECM.LABEL.PROTOCOLO</label>
56   - <span> {{reabrirProcesso.processo.nup}}</span>
57   - </div>
58   - </div> -->
59   -
  52 +
60 53 <div class="row">
61 54 <div class="col-sm-8">
62   - <auto-complete ng-id="reabrirProcesso.solicitante" ng-disabled='!edit' ng-obrigatorio='true' ng-label="ECM.LABEL.SOLICITANTE" ng-model="reabrirProcesso.solicitante" form='reabrirProcessoForm' ng-find="findAutoCompleteSolicitante(value)"
  55 + <auto-complete ng-id="reabrirProcesso.processo" ng-disabled='!edit' ng-obrigatorio='true' ng-label="ECM.LABEL.PROTOCOLO" ng-model="reabrirProcesso.processo" form='reabrirProcessoForm' ng-find="findAutoCompleteProcessoo(value)"
63 56 ng-item="item.nome" />
64 57 </div>
65 58 </div>
66 59  
67   - <div class="row">
68   - <div class="col-md-8">
69   - <auto-complete ng-id="reabrirProcesso.unidade" ng-label="LABEL.UNIDADE" ng-obrigatorio='true' ng-model="reabrirProcesso.unidade" ng-find="findAutoCompleteUnidade(value)" form='reabrirProcessoForm' ng-item="item.nome" ng-set-result="setUnidade(item)" />
70   - </div>
71   - </div>
72 60  
73 61 <div class="row">
74 62 <div class="col-sm-8">
... ...