Commit 2c5b9a1d57d8152e1e00aac8cc5f9a5a36b06329
1 parent
2c06de05
Exists in
master
Redmine #Implementação de reabertura de processo
Showing
6 changed files
with
185 additions
and
141 deletions
Show diff stats
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('ReabrirProcessoController', ['$scope', '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"> | ... | ... |