Commit 9913942d4c528a61794ce06edf00d5d0a6a73049

Authored by maycon.silva
1 parent 771c1e88
Exists in master

Redmine #285 Atividade de Reabertura

cit-ecm-api/src/main/java/br/com/centralit/api/model/ReabrirProcesso.java
... ... @@ -6,13 +6,11 @@ import javax.persistence.GeneratedValue;
6 6 import javax.persistence.GenerationType;
7 7 import javax.persistence.Id;
8 8 import javax.persistence.ManyToOne;
  9 +import javax.persistence.Transient;
9 10  
10 11 import br.com.centralit.api.framework.json.ViewsEcm;
11 12 import br.com.centralit.framework.json.Views;
12 13 import br.com.centralit.framework.model.Dominio;
13   -import br.com.centralit.framework.model.Unidade;
14   -import br.com.centralit.framework.model.Usuario;
15   -import br.com.centralit.framework.model.arquitetura.PersistentObjectAudit;
16 14  
17 15 import com.fasterxml.jackson.annotation.JsonView;
18 16  
... ... @@ -62,7 +60,11 @@ public class ReabrirProcesso extends PersistentObjectUnidade {
62 60  
63 61 /** Atributo justificativa. */
64 62 @JsonView({ ViewsEcm.ReabrirProcessoListView.class })
65   - private String justificativa;
  63 + private String justificativaSolicitacao;
  64 +
  65 + /** Atributo justificativa. */
  66 + @JsonView({ ViewsEcm.ReabrirProcessoListView.class })
  67 + private String justificativaRejeicao;
66 68  
67 69 @ManyToOne(fetch = FetchType.LAZY, optional = true)
68 70 @JsonView({ ViewsEcm.ReabrirProcessoListView.class })
... ... @@ -70,8 +72,11 @@ public class ReabrirProcesso extends PersistentObjectUnidade {
70 72  
71 73 /** Atributo status. */
72 74 @ManyToOne(fetch = FetchType.LAZY)
73   - @JsonView({ ViewsEcm.ReabrirProcessoListView.class })
  75 + @JsonView({ ViewsEcm.ReabrirProcessoListView.class, ViewsEcm.ReabrirProcessoEditView.class })
74 76 private Dominio status;
  77 +
  78 + @Transient
  79 + private boolean validado;
75 80  
76 81  
77 82 /**
... ... @@ -95,26 +100,6 @@ public class ReabrirProcesso extends PersistentObjectUnidade {
95 100 this.id = id;
96 101 }
97 102  
98   - /**
99   - * Retorna o valor do atributo <code>justificativa</code>
100   - *
101   - * @return <code>String</code>
102   - */
103   - public String getJustificativa() {
104   -
105   - return this.justificativa;
106   - }
107   -
108   - /**
109   - * Define o valor do atributo <code>justificativa</code>.
110   - *
111   - * @param justificativa
112   - */
113   - public void setJustificativa(String justificativa) {
114   -
115   - this.justificativa = justificativa;
116   - }
117   -
118 103  
119 104 /**
120 105 * Retorna o valor do atributo <code>processo</code>
... ... @@ -158,4 +143,70 @@ public class ReabrirProcesso extends PersistentObjectUnidade {
158 143 this.status = status;
159 144 }
160 145  
  146 +
  147 + /**
  148 + * Retorna o valor do atributo <code>justificativaSolicitacao</code>
  149 + *
  150 + * @return <code>String</code>
  151 + */
  152 + public String getJustificativaSolicitacao() {
  153 +
  154 + return justificativaSolicitacao;
  155 + }
  156 +
  157 +
  158 + /**
  159 + * Define o valor do atributo <code>justificativaSolicitacao</code>.
  160 + *
  161 + * @param justificativaSolicitacao
  162 + */
  163 + public void setJustificativaSolicitacao(String justificativaSolicitacao) {
  164 +
  165 + this.justificativaSolicitacao = justificativaSolicitacao;
  166 + }
  167 +
  168 +
  169 + /**
  170 + * Retorna o valor do atributo <code>justificativaRejeicao</code>
  171 + *
  172 + * @return <code>String</code>
  173 + */
  174 + public String getJustificativaRejeicao() {
  175 +
  176 + return justificativaRejeicao;
  177 + }
  178 +
  179 +
  180 + /**
  181 + * Define o valor do atributo <code>justificativaRejeicao</code>.
  182 + *
  183 + * @param justificativaRejeicao
  184 + */
  185 + public void setJustificativaRejeicao(String justificativaRejeicao) {
  186 +
  187 + this.justificativaRejeicao = justificativaRejeicao;
  188 + }
  189 +
  190 +
  191 + /**
  192 + * Retorna o valor do atributo <code>validado</code>
  193 + *
  194 + * @return <code>boolean</code>
  195 + */
  196 + public boolean isValidado() {
  197 +
  198 + return validado;
  199 + }
  200 +
  201 +
  202 + /**
  203 + * Define o valor do atributo <code>validado</code>.
  204 + *
  205 + * @param validado
  206 + */
  207 + public void setValidado(boolean validado) {
  208 +
  209 + this.validado = validado;
  210 + }
  211 +
161 212 }
... ...
cit-ecm-api/src/main/java/br/com/centralit/api/service/ProcessoService.java
... ... @@ -2,6 +2,7 @@ package br.com.centralit.api.service;
2 2  
3 3 import br.com.centralit.api.model.PlanoClassificacao;
4 4 import br.com.centralit.api.model.Processo;
  5 +import br.com.centralit.framework.model.Unidade;
5 6 import br.com.centralit.framework.service.arquitetura.GenericService;
6 7  
7 8 /**
... ... @@ -144,6 +145,16 @@ public interface ProcessoService extends GenericService&lt;Processo, Long&gt; {
144 145 Processo getProcessoByProtocolo(String nup);
145 146  
146 147  
147   -
  148 + /**
  149 + * Método responsável por Reabrir processo BPE para uma unidade
  150 + *
  151 + *O processo será aberto no ponto que final da execução do fluxo
  152 + *
  153 + * @author maycon.silva
  154 + *
  155 + * @param processo
  156 + * @param unidade
  157 + */
  158 + void reopenProcessIntance(Processo processo, Unidade unidad);
148 159  
149 160 }
... ...
cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/InicializarEcmServiceImpl.java
... ... @@ -249,8 +249,9 @@ public class InicializarEcmServiceImpl extends UtilStartup {
249 249 pgSolicitarReaberturaProcesso = this.paginaService.saveIfNotExist(pgSolicitarReaberturaProcesso);
250 250  
251 251 Menu menuSolicitarReaberturaProcesso = new Menu("Reabrir Processo", pgSolicitarReaberturaProcesso, menuProcesso, 2, 8, null, null, null, null, modulo, "REABRIR_PROCESSO");
252   -/* menuSolicitarReaberturaProcesso.setIncludes(this.gerarArquivosMenu(menuSolicitarReaberturaProcesso, this.CIT_ECM_WEB_ANGULAR, "ReabrirProcesso", true, true, true));
253   - this.menuService.mergeIfNotExist(menuSolicitarReaberturaProcesso);*/
  252 +
  253 + menuSolicitarReaberturaProcesso.setIncludes(this.gerarArquivosMenu(menuSolicitarReaberturaProcesso, this.CIT_ECM_WEB_ANGULAR, "ReabrirProcesso", true, true, true));
  254 + this.menuService.mergeIfNotExist(menuSolicitarReaberturaProcesso);
254 255  
255 256 }
256 257  
... ...
cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/ProcessoServiceImpl.java
... ... @@ -1006,9 +1006,31 @@ public class ProcessoServiceImpl extends GenericServiceImpl&lt;Processo, Long&gt; impl
1006 1006 public Processo getProcessoByProtocolo(String nup) {
1007 1007  
1008 1008 return this.processoDao.getProcessoByProtocolo(nup);
  1009 +
1009 1010 }
1010 1011  
1011   -
1012   -
  1012 + /**
  1013 + * Método responsável por Reabrir processo BPE para uma unidade
  1014 + *
  1015 + *O processo será aberto no ponto que final da execução do fluxo
  1016 + *
  1017 + * @author maycon.silva
  1018 + *
  1019 + * @param processo
  1020 + * @param unidade
  1021 + */
  1022 + public void reopenProcessIntance(Processo processo, Unidade unidade ){
  1023 +
  1024 + final Unidade unidadeReabertura = this.unidadeService.getReference(unidade.getId());
  1025 +
  1026 + final Processo processoReabertura = this.getReference(processo.getId());
  1027 +
  1028 + final List<EnvironmentVariable> variaveis = new ArrayList<EnvironmentVariable>();
  1029 +
  1030 + processoReabertura.setStatus(this.dominioService.findByChaveAndCodigo("statusProcesso", 1L));
1013 1031  
  1032 + variaveis.add(new EnvironmentVariable("grupoPadrao", VariableTypeEnum.TEXT, unidadeReabertura.getGrupo().getSigla(), false));
  1033 +
  1034 + reopenProcessInstance(processoReabertura.getIdProcessInstance(), variaveis);
  1035 + }
1014 1036 }
... ...
cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/ReabrirProcessoServiceImpl.java
1 1 package br.com.centralit.api.service.impl;
2 2  
3   -import java.util.ArrayList;
4   -import java.util.List;
5   -
6 3 import org.springframework.beans.factory.annotation.Autowired;
7 4 import org.springframework.stereotype.Service;
8 5  
9 6 import br.com.centralit.api.dao.ReabrirProcessoDao;
10   -import br.com.centralit.api.model.Processo;
11 7 import br.com.centralit.api.model.ReabrirProcesso;
12   -import br.com.centralit.api.model.UnidadeProcesso;
13 8 import br.com.centralit.api.service.DominioService;
  9 +import br.com.centralit.api.service.NotificacaoService;
14 10 import br.com.centralit.api.service.ProcessoService;
15 11 import br.com.centralit.api.service.ReabrirProcessoService;
16 12 import br.com.centralit.api.service.TemporalidadeService;
17 13 import br.com.centralit.api.service.UnidadeProcessoService;
18 14 import br.com.centralit.api.service.UnidadeService;
19   -import br.com.centralit.framework.esi.enumerated.VariableTypeEnum;
20   -import br.com.centralit.framework.esi.environment.EnvironmentVariable;
21   -import br.com.centralit.framework.model.Unidade;
  15 +import br.com.centralit.framework.model.Dominio;
  16 +import br.com.centralit.framework.model.Notificacao;
22 17 import br.com.centralit.framework.service.arquitetura.GenericServiceImpl;
23 18  
24 19 /**
... ... @@ -73,6 +68,8 @@ public class ReabrirProcessoServiceImpl extends GenericServiceImpl&lt;ReabrirProces
73 68  
74 69 @Autowired
75 70 private TemporalidadeService temporalidadeService;
  71 +
  72 + private NotificacaoService notificacaoService;
76 73  
77 74 @Autowired
78 75 public ReabrirProcessoServiceImpl( ReabrirProcessoDao reabrirProcessoDao ) {
... ... @@ -88,39 +85,64 @@ public class ReabrirProcessoServiceImpl extends GenericServiceImpl&lt;ReabrirProces
88 85  
89 86 reabrirProcesso.setStatus(this.dominioService.findByChaveAndCodigo("statusSolicitaoProcesso", 1L));
90 87  
  88 + reabrirProcesso.setValidado(false);
  89 +
91 90 reabrirProcesso = super.save(reabrirProcesso);
92 91  
  92 +
93 93 return reabrirProcesso;
94 94 }
95 95  
96   -
97   -
98 96 @Override
99 97 public ReabrirProcesso merge(ReabrirProcesso reabrirProcesso) {
100 98  
101   - if(reabrirProcesso.getStatus().getCodigo().equals(2L)){
102   - this.reopenProcessIntance(reabrirProcesso);
103   - }
104   -
105   - return super.merge(reabrirProcesso);
  99 + reabrirProcesso = (ReabrirProcesso) this.reabrirProcessoDao.merge(reabrirProcesso);
  100 +
  101 + if(!reabrirProcesso.getStatus().getCodigo().equals(1L)){
  102 +
  103 + reabrirProcesso.setValidado(true);
  104 +
  105 + if(reabrirProcesso.getStatus().getCodigo().equals(2L)){
  106 +
  107 + this.processoService.reopenProcessIntance(reabrirProcesso.getProcesso(), reabrirProcesso.getUnidade());
  108 + }
  109 +
  110 + this.enviarNotificacaoReabertura(reabrirProcesso);
  111 +
  112 + }
  113 +
  114 + return reabrirProcesso;
106 115 }
107   -
108   - private void reopenProcessIntance(ReabrirProcesso reabrirProcesso){
  116 +
  117 + private void enviarNotificacaoReabertura(ReabrirProcesso reabrirProcesso) {
109 118  
110   - final Unidade unidade = this.unidadeService.getReference(reabrirProcesso.getUnidade().getId());
  119 + reabrirProcesso = super.getReference(reabrirProcesso.getId());
111 120  
112   - final Processo processo = this.processoService.getReference(reabrirProcesso.getProcesso().getId());
113   -
114   -
115   - final List<EnvironmentVariable> variaveis = new ArrayList<EnvironmentVariable>();
  121 + StringBuilder sb = new StringBuilder();
  122 +
  123 + sb.append("A sua solicitação de reabertura para o proceso ").append(reabrirProcesso.getProcesso().getNup()).append(" foi ");
116 124  
117   - processo.setStatus(this.dominioService.findByChaveAndCodigo("statusProcesso", 1L));
118   -
  125 + if (reabrirProcesso.getStatus().getCodigo().equals(2L)) {
  126 +
  127 + sb.append("aprovada.");
  128 +
  129 + } else if (reabrirProcesso.getStatus().getCodigo().equals(3L)) {
  130 +
  131 + sb.append("rejeitada");
  132 + }
  133 +
  134 + Dominio tipoNotificacao = this.dominioService.findByChaveAndCodigo("tipoNotificacao", 4L);
  135 +
  136 + Dominio tipoPrioridade = this.dominioService.findByChaveAndCodigo("tipoPrioridade", 2L);
119 137  
120   - variaveis.add(new EnvironmentVariable("grupoPadrao", VariableTypeEnum.TEXT, unidade.getGrupo().getSigla(), false));
  138 + Notificacao notificacao = new Notificacao("Processo sigiloso", sb.toString(), tipoNotificacao, tipoPrioridade, null, null, null);
121 139  
122   - reopenProcessInstance(processo.getIdProcessInstance(), variaveis);
  140 + notificacao.setUsuario(reabrirProcesso.getAutor());
123 141  
  142 +
  143 + this.notificacaoService.save(notificacao);
124 144 }
125 145  
  146 +
  147 +
126 148 }
... ...
cit-ecm-web/src/main/java/br/com/centralit/listener/StartupListenerEcm.java
... ... @@ -200,7 +200,7 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen
200 200 list.add(new Dominio("statusProcesso", "Em Andamento", "EMANDAMENTO", 1L, Boolean.FALSE));
201 201 list.add(new Dominio("statusProcesso", "Finalizado", "FINALIZADO", 2L, Boolean.FALSE));
202 202  
203   - list.add(new Dominio("statusSolicitaoProcesso", "Solicitação em Aberto", "EMABERTO", 1L, Boolean.FALSE));
  203 + list.add(new Dominio("statusSolicitaoProcesso", "Em Aberto", "EM_ABERTO", 1L, Boolean.FALSE));
204 204 list.add(new Dominio("statusSolicitaoProcesso", "Aprovada", "APROVADA", 2L, Boolean.FALSE));
205 205 list.add(new Dominio("statusSolicitaoProcesso", "Rejeitada", "REJEITADA", 3L, Boolean.FALSE));
206 206  
... ... @@ -387,7 +387,13 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen
387 387 internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.AVANCAR_FLUXO", "Avançar no Fluxo", dominio, modulo));
388 388 internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.JUSTIFICATIVA_CANCELAMENTO", "Justificativa Cancelado", dominio, modulo));
389 389 internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.DADOS_REABERTURA", "Dados da Reabertura", dominio, modulo));
390   -
  390 + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.VISUALIZAR_PROCESSO", "Visualizar Processo", dominio, modulo));
  391 + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.REABRIR", "Executar Solicitacao", dominio, modulo));
  392 + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.SOLICITAR_REABERTURA", "Solicitar Reabertura", dominio, modulo));
  393 + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.JUSTIFICATIVAREJEICAO", "Rejeitar Solicitação", dominio, modulo));
  394 + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.DADOS_SOLICITACAO", "Dados da Solicitação", dominio, modulo));
  395 +
  396 +
391 397 }
392 398  
393 399 /**
... ...
cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/ReabrirProcessoController.js
... ... @@ -54,6 +54,7 @@ citApp.controller(&#39;ReabrirProcessoController&#39;, [&#39;$scope&#39;, &#39;ReabrirProcessoReposi
54 54 $scope.reabrirProcessoForm.$submitted = false;
55 55 $scope.setLoading(false);
56 56 });
  57 +
57 58 }else{
58 59 //Mensagem de erro de campos obrigatorios não preenchidos
59 60 $scope.showAlert('error', $translate.instant('MSG.MN001'), " ", false);
... ... @@ -87,11 +88,29 @@ citApp.controller(&#39;ReabrirProcessoController&#39;, [&#39;$scope&#39;, &#39;ReabrirProcessoReposi
87 88  
88 89 $scope.setLoadingGet(true);
89 90 ReabrirProcessoRepository.get(reabrirProcesso.id).then(function(result) {
90   - $scope.reabrirProcesso = result.originalElement;
  91 + $scope.reabrirProcesso = result.originalElement;
91 92 $scope.edit = edit;
92 93 $scope.setLoading(false);
93 94 });
94 95 };
  96 +
  97 + $scope.visualizarProcesso = function (){
  98 +
  99 + if($scope.reabrirProcesso.processo){
  100 +
  101 + var pagina = '/cit-ecm-web/html/gerenciarProcessoView/gerenciarProcessoView.html';
  102 +
  103 + $scope.openWorkspaceIfNotOpen($translate.instant('ECM.LABEL.PROCESSO'), pagina, 'mod-orange');
  104 +
  105 + $timeout(function() {
  106 + angular.element('#viewGerenciarProcesso').scope().getProcessoView($scope.reabrirProcesso.processo);
  107 +
  108 + }, 400);
  109 +
  110 + }else{
  111 + $scope.showAlert("success", "selecione um processo");
  112 + }
  113 + };
95 114  
96 115 }]);
97 116  
... ...
cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/ReabrirProcessoListController.js
1 1 'use strict';
2 2  
3   -citApp.controller('ReabrirProcessoListController', ['$scope', 'ReabrirProcessoRepository', '$translate', '$timeout', function ReabrirProcessoListController($scope, ReabrirProcessoRepository, $translate, $timeout) {
  3 +citApp.controller('ReabrirProcessoListController', ['$scope', 'ReabrirProcessoRepository', '$translate', '$timeout', 'DominioRepository', function ReabrirProcessoListController($scope, ReabrirProcessoRepository, $translate, $timeout, DominioRepository) {
4 4 $scope.$showAdvancedFilters = false;
5 5  
6 6 $scope.resetForm = function() {
... ... @@ -9,7 +9,7 @@ citApp.controller(&#39;ReabrirProcessoListController&#39;, [&#39;$scope&#39;, &#39;ReabrirProcessoRe
9 9  
10 10  
11 11 $scope.headers = [ {title : $translate.instant('ECM.LABEL.PROTOCOLO'), value : 'processo.nup'},
12   - {title : $translate.instant('ECM.LABEL.JUSTIFICATIVA'), value : 'justificativa' },
  12 + {title : $translate.instant('ECM.LABEL.JUSTIFICATIVA'), value : 'justificativaSolicitacao' },
13 13 {title : $translate.instant('ECM.LABEL.STATUS'), value : 'status.descricao' }];
14 14  
15 15 $scope.filterCriteria = {
... ... @@ -17,9 +17,20 @@ citApp.controller(&#39;ReabrirProcessoListController&#39;, [&#39;$scope&#39;, &#39;ReabrirProcessoRe
17 17 dir : 'asc',
18 18 sort : 'id',
19 19 limit : 10,
20   - fields: ['id','processo.nup','status.descricao' ,'justificativa' ],
21   - filters : [ {type : 'string', field : 'processo.nup' },{type : 'string', field : 'status.descricao'},{type : 'string', field : 'justificativa' } ]
  20 + fields: ['id','processo.nup','justificativaSolicitacao','status.descricao'],
  21 + filters : [ {type : 'string', field : 'processo.nup' },
  22 + {type : 'string', field : 'justificativaSolicitacao' },
  23 + {type : 'string', field : 'status.descricao', listaDominio : [] , comparison : 'eq', value: 'Em Aberto'}]
  24 +
22 25 };
  26 +
  27 +
  28 +
  29 + DominioRepository.findAllDominioByCodigo('statusSolicitaoProcesso', 1).then(function(result) {
  30 +
  31 + $scope.filterCriteria.filters[2].listaDominio.push(result.originalElement);
  32 +
  33 + });
23 34  
24 35 // ABRI Documento SELECIONADA
25 36 $scope.abrirVisualizar = function(edit){
... ...
cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/SolicitacaoReaberturaProcessoController.js
1 1 'use strict';
2 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 = {};
  3 +citApp.controller('SolicitacaoReaberturaProcessoController', ['$scope','ReabrirProcessoRepository', 'PessoaRepository', 'ProcessoRepository','UnidadeRepository','$filter', '$translate', '$timeout', function SolicitacaoReaberturaProcessoController($scope, ReabrirProcessoRepository, PessoaRepository, ProcessoRepository, UnidadeRepository, $filter, $translate, $timeout) {
  4 + $scope.solicitacaoReaberturaProcesso = {};
5 5  
6 6 // Limpa formulário para novo cadastro
7 7 $scope.resetForm = function() {
8   - $scope.limparReabrirProcesso();
  8 + $scope.limparSolicitacaoReaberturaProcesso();
9 9 $scope.edit = true;
10 10 $timeout(function(){
11   - $scope.reabrirProcessoForm.$submitted = false;
12   - $scope.reabrirProcessoForm.$setPristine();
  11 + $scope.solicitacaoReaberturaProcessoForm.$submitted = false;
  12 + $scope.solicitacaoReaberturaProcessoForm.$setPristine();
13 13 });
14 14 };
15 15  
16 16 // Atualiza pagina de pesquisa
17 17 $scope.atualizaPaginaPesquisa = function () {
18   - angular.element('#searchReabrirProcesso').scope().fetchResult();
  18 + angular.element('#searchSolicitacaoReaberturaProcesso').scope().fetchResult();
19 19 };
20 20  
21 21 // MODAL QUE CONFIRMA REMOVER DO PAIS
22   - $scope.remove = function(reabrirProcesso){
23   - $scope.reabrirProcesso = reabrirProcesso;
  22 + $scope.remove = function(solicitacaoReaberturaProcesso){
  23 + $scope.solicitacaoReaberturaProcesso = solicitacaoReaberturaProcesso;
24 24 $scope.$openModalConfirm({
25 25 message: $translate.instant('MSG.CONFIRMA_EXCLUSAO'),
26 26 callback: function () {
27   - ReabrirProcessoRepository.remove($scope.reabrirProcesso).then(function() {
  27 + ReabrirProcessoRepository.remove($scope.solicitacaoReaberturaProcesso).then(function() {
28 28  
29 29 $scope.$modalConfirmInstance.dismiss('cancel');
30 30 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO'));
31   - angular.element('#searchReabrirProcesso').scope().fetchResult();
  31 + angular.element('#searchSolicitacaoReaberturaProcesso').scope().fetchResult();
32 32  
33 33 $scope.resetForm();
34 34 });
... ... @@ -38,19 +38,23 @@ citApp.controller(&#39;ReabrirProcessoController&#39;, [&#39;$scope&#39;, &#39;ReabrirProcessoReposi
38 38  
39 39 // SALVA O PAIS
40 40 $scope.saveOrUpdate = function(){
41   - $scope.reabrirProcessoForm.$submitted = true;
  41 +
  42 + $scope.solicitacaoReaberturaProcessoForm.$submitted = true;
42 43  
43 44 //verifica se o formulario está valido para salvar
44   - if($scope.reabrirProcessoForm.$valid && $scope.reabrirProcesso.texto != ""){
  45 + if($scope.solicitacaoReaberturaProcessoForm.$valid){
45 46  
46 47 $scope.setLoadingSalva(true);
47 48  
48   - ReabrirProcessoRepository.save($scope.reabrirProcesso).then(function(result) {
49   - $scope.reabrirProcesso = result.originalElement;
  49 + ReabrirProcessoRepository.save($scope.solicitacaoReaberturaProcesso).then(function(result) {
  50 + $scope.solicitacaoReaberturaProcesso = result.originalElement;
50 51 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_SALVO'));
51   - $scope.reabrirProcessoForm.$submitted = false;
  52 + $scope.status = $scope.solicitacaoReaberturaProcesso.status.descricao;
  53 + $scope.solicitacaoReaberturaProcessoForm.$submitted = false;
  54 + $scope.edit = false;
52 55 $scope.setLoading(false);
53 56 });
  57 +
54 58 }else{
55 59 //Mensagem de erro de campos obrigatorios não preenchidos
56 60 $scope.showAlert('error', $translate.instant('MSG.MN001'), " ", false);
... ... @@ -59,8 +63,9 @@ citApp.controller(&#39;ReabrirProcessoController&#39;, [&#39;$scope&#39;, &#39;ReabrirProcessoReposi
59 63 };
60 64  
61 65 // Limpa o formulario preenchido
62   - $scope.limparReabrirProcesso = function(){
63   - $scope.reabrirProcesso = {};
  66 + $scope.limparSolicitacaoReaberturaProcesso = function(){
  67 + $scope.solicitacaoReaberturaProcesso = {};
  68 + $scope.status = null;
64 69 };
65 70  
66 71  
... ... @@ -70,18 +75,48 @@ citApp.controller(&#39;ReabrirProcessoController&#39;, [&#39;$scope&#39;, &#39;ReabrirProcessoReposi
70 75 });
71 76 };
72 77  
73   -
  78 + $scope.findAutoCompleteProcesso = function(value){
  79 +
  80 + return ProcessoRepository.findAutoComplete('nup', value).then(function(result) {
  81 +
  82 + return result;
  83 +
  84 + });
  85 + };
74 86  
75 87 // Consulta entidade e mostra no formulario
76   - $scope.getReabrirProcesso = function(processo, edit){
  88 + $scope.getSolicitacaoReaberturaProcesso = function(processo, edit){
77 89  
78 90 $scope.setLoadingGet(true);
79   - ProcessoRepository.get(processo.id).then(function(result) {
80   - $scope.reabrirProcesso.processo = result.originalElement;
  91 + ReabrirProcessoRepository.get(processo.id).then(function(result) {
  92 +
  93 + $scope.solicitacaoReaberturaProcesso = result.originalElement;
  94 +
  95 + $scope.status = $scope.solicitacaoReaberturaProcesso.status.descricao;
  96 +
81 97 $scope.edit = edit;
  98 +
82 99 $scope.setLoading(false);
83 100 });
84 101 };
  102 +
  103 + $scope.visualizarProcesso = function (){
  104 +
  105 + if($scope.solicitacaoReaberturaProcesso.processo){
  106 +
  107 + var pagina = '/cit-ecm-web/html/gerenciarProcessoView/gerenciarProcessoView.html';
  108 +
  109 + $scope.openWorkspaceIfNotOpen($translate.instant('ECM.LABEL.PROCESSO'), pagina, 'mod-orange');
  110 +
  111 + $timeout(function() {
  112 + angular.element('#viewGerenciarProcesso').scope().getProcessoView($scope.solicitacaoReaberturaProcesso.processo);
  113 +
  114 + }, 400);
  115 +
  116 + }else{
  117 + $scope.showAlert("success", "selecione um processo");
  118 + }
  119 + };
85 120  
86 121 }]);
87 122  
... ...
cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/SolicitacaoReaberturaProcessoListController.js
1 1 'use strict';
2 2  
3   -citApp.controller('SolicitacaoReaberturaProcessoListController', ['$scope', 'ReabrirProcessoRepository', '$translate', '$timeout', function ReabrirProcessoListController($scope, ReabrirProcessoRepository, $translate, $timeout) {
  3 +citApp.controller('SolicitacaoReaberturaProcessoListController', ['$scope', 'ReabrirProcessoRepository', '$translate', '$timeout', 'DominioRepository', function SolicitacaoReaberturaProcessoListController($scope, ReabrirProcessoRepository, $translate, $timeout, DominioRepository) {
4 4 $scope.$showAdvancedFilters = false;
5 5  
6 6 $scope.resetForm = function() {
7   - angular.element("#editReabrirProcesso").scope().resetForm();
  7 + angular.element("#editSolicitacaoReaberturaProcesso").scope().resetForm();
8 8 };
9 9  
10 10  
11 11 $scope.headers = [ {title : $translate.instant('ECM.LABEL.PROTOCOLO'), value : 'processo.nup'},
12   - {title : $translate.instant('ECM.LABEL.JUSTIFICATIVA'), value : 'justificativa' },
  12 + {title : $translate.instant('ECM.LABEL.JUSTIFICATIVA'), value : 'justificativaSolicitacao' },
13 13 {title : $translate.instant('ECM.LABEL.STATUS'), value : 'status.descricao' }];
14 14  
15 15 $scope.filterCriteria = {
... ... @@ -17,19 +17,20 @@ citApp.controller(&#39;SolicitacaoReaberturaProcessoListController&#39;, [&#39;$scope&#39;, &#39;Rea
17 17 dir : 'asc',
18 18 sort : 'id',
19 19 limit : 10,
20   - fields: ['id','processo.nup','status.descricao' ,'justificativa' ],
21   - filters : [ {type : 'string', field : 'processo.nup' },{type : 'string', field : 'status.descricao'},{type : 'string', field : 'justificativa' } ]
  20 + fields: ['id','processo.nup','justificativaSolicitacao', 'status.descricao'],
  21 + filters : [ {type : 'string', field : 'processo.nup' },
  22 + {type : 'string', field : 'justificativaSolicitacao' }, {type : 'string', field : 'status.descricao'} ]
22 23 };
23 24  
24 25 // ABRI Documento SELECIONADA
25 26 $scope.abrirVisualizar = function(edit){
26   - var reabrirProcesso = $scope.solicitacaoReaberturaProcessoChecked;
  27 + var solicitacaoReaberturaProcesso = $scope.solicitacaoReaberturaProcessoChecked;
27 28  
28   - if(!reabrirProcesso) {
  29 + if(!solicitacaoReaberturaProcesso) {
29 30 $scope.showAlert('warning', !edit ? $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_VISUALIZACAO') : $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_EDICAO'));
30 31 return;
31 32 }
32   - angular.element('#editReabrirProcesso').scope().getReabrirProcesso(reabrirProcesso, edit);
  33 + angular.element('#editSolicitacaoReaberturaProcesso').scope().getSolicitacaoReaberturaProcesso(solicitacaoReaberturaProcesso, edit);
33 34 $scope.$showPageEditWorkspace($scope.workspace);
34 35 };
35 36  
... ...
cit-ecm-web/src/main/webapp/html/reabrirProcesso/reabrirProcessoEdit.html
... ... @@ -8,16 +8,15 @@
8 8 <translate>ECM.LABEL.REABRIR</translate>
9 9 </button>
10 10  
11   - <button class="btn btn-clear" ng-click="resetForm()" ng-show="edit">
12   - <i class="fa fa-eraser yellow-dark"></i>
13   - <translate>LABEL.LIMPAR</translate>
14   - </button>
15   -
16   -
17 11 <button class="btn btn-clear" ng-click="$showPageSearchWorkspace(workspace); atualizaPaginaPesquisa();">
18 12 <i class="fa fa-search"></i>
19 13 <translate>LABEL.PESQUISAR</translate>
20 14 </button>
  15 +
  16 + <button class="btn btn-clear" ng-click="visualizarProcesso();" >
  17 + <i class="fa fa-eye"></i>
  18 + <translate>ECM.LABEL.VISUALIZAR_PROCESSO</translate>
  19 + </button>
21 20  
22 21 </div>
23 22 <!-- .col -->
... ... @@ -65,7 +64,7 @@
65 64  
66 65 <div class="row" ng-if="reabrirProcesso.id">
67 66 <div class="col-md-4">
68   - <label-select ng-id="reabrirProcesso.status" ng-model="reabrirProcesso.status" ng-label="ECM.LABEL.STATUS" ng-obrigatorio='reabrirProcesso.id' form="reabrirProcessoForm" ng-list="statusList"
  67 + <label-select ng-id="reabrirProcesso.status" ng-model="reabrirProcesso.status" ng-label="ECM.LABEL.STATUS" ng-obrigatorio='reabrirProcesso.id' form="reabrirProcessoForm" ng-list="statusList"
69 68 ng-custom-options="dominioStatus.originalElement as dominioStatus.descricao for dominioStatus" track-by="track by dominioStatus.id" ng-disabled='!edit && reabrirProcesso.id'> </label-select>
70 69 </div>
71 70 </div>
... ... @@ -79,7 +78,7 @@
79 78  
80 79 <div class="row">
81 80 <div class="col-sm-8">
82   - <label-text-area ng-id="reabrirProcesso.justificativa" ng-disabled='reabrirProcesso.id' ng-typ="text" ng-obrigatorio='true' ng-label="ECM.LABEL.MOTIVO" form='reabrirProcessoForm' ng-model="reabrirProcesso.justificativa"
  81 + <label-text-area ng-id="reabrirProcesso.justificativaSolicitacao" ng-disabled='reabrirProcesso.id' ng-typ="text" ng-obrigatorio='true' ng-label="ECM.LABEL.MOTIVO" form='reabrirProcessoForm' ng-model="reabrirProcesso.justificativaSolicitacao"
83 82 ng-custom-maxlength='255' />
84 83 </div>
85 84 </div>
... ...
cit-ecm-web/src/main/webapp/html/reabrirProcesso/reabrirProcessoList.html
... ... @@ -3,7 +3,7 @@
3 3 <div class="row">
4 4 <div class="col-sm-8 text-left">
5 5  
6   - <button class="btn btn-clear" ng-click="viewProcesso();">
  6 + <button class="btn btn-clear" ng-click="abrirVisualizar(false);">
7 7 <i class="fa fa-search blue"></i>
8 8 <translate>LABEL.VISUALIZAR</translate>
9 9 </button>
... ... @@ -41,6 +41,5 @@
41 41 <breadcrumb ng-workspace="workspace"></breadcrumb>
42 42  
43 43 <list-view ng-lista="reabrirProcessoList" ng-repository="ReabrirProcessoRepository" ng-use-custom-remove="false" ng-headers="headers" ng-filter-criteria="filterCriteria" ng-item-selecionado="reabrirProcessoChecked"></list-view>
44   -
45 44 </div>
46 45 <!-- .page-content -->
... ...
cit-ecm-web/src/main/webapp/html/solicitacaoReaberturaProcesso/solicitacaoReaberturaProcesso.html
1 1 <div ng-include src="'/cit-ecm-web/html/solicitacaoReaberturaProcesso/solicitacaoReaberturaProcessoList.html'" ng-show="workspace.$showSearch"></div>
2   -<div ng-include src="'/cit-ecm-web/html/reabrirProcesso/reabrirProcessoEdit.html'" ng-show="workspace.$showEdit"></div>
  2 +<div ng-include src="'/cit-ecm-web/html/solicitacaoReaberturaProcesso/solicitacaoReaberturaProcessoEdit.html'" ng-show="workspace.$showEdit"></div>
... ...
cit-ecm-web/src/main/webapp/html/solicitacaoReaberturaProcesso/solicitacaoReaberturaProcessoEdit.html
1   -<div id="editReabrirProcesso" class="page-content clearfix" ng-controller="ReabrirProcessoController">
  1 +<div id="editSolicitacaoReaberturaProcesso" class="page-content clearfix" ng-controller="SolicitacaoReaberturaProcessoController">
2 2 <div class="bar-buttons-action fixed">
3 3 <div class="row">
4 4 <div class="col-sm-8 text-left">
5 5  
6 6 <button class="btn btn-clear" ng-click="saveOrUpdate()" ng-show="edit">
7 7 <i class="fa fa-save green"></i>
8   - <translate>ECM.LABEL.REABRIR</translate>
  8 + <translate>ECM.LABEL.SOLICITAR_REABERTURA</translate>
9 9 </button>
10 10  
11 11 <button class="btn btn-clear" ng-click="resetForm()" ng-show="edit">
... ... @@ -18,6 +18,11 @@
18 18 <i class="fa fa-search"></i>
19 19 <translate>LABEL.PESQUISAR</translate>
20 20 </button>
  21 +
  22 + <button class="btn btn-clear" ng-click="visualizarProcesso();" ng-show="solicitacaoReaberturaProcesso.processo">
  23 + <i class="fa fa-eye "></i>
  24 + <translate>ECM.LABEL.VISUALIZAR_PROCESSO</translate>
  25 + </button>
21 26  
22 27 </div>
23 28 <!-- .col -->
... ... @@ -37,7 +42,7 @@
37 42  
38 43 <breadcrumb ng-workspace="workspace"></breadcrumb>
39 44  
40   - <form name="reabrirProcessoForm">
  45 + <form name="solicitacaoReaberturaProcessoForm">
41 46 <p>
42 47 <small>( <span class="red">*</span> ) <translate>LABEL.CAMPOS_OBRIGATORIOS</translate></small>
43 48 </p>
... ... @@ -45,25 +50,42 @@
45 50 <fieldset>
46 51  
47 52 <legend>
48   - <translate>ECM.LABEL.DADOS_REABERTURA</translate>
  53 + <translate>ECM.LABEL.DADOS_SOLICITACAO</translate>
49 54 </legend>
50 55  
51 56 </fieldset>
52   -
  57 +
53 58 <div class="row">
54 59 <div class="col-sm-8">
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)"
56   - ng-item="item.nome" />
  60 + <auto-complete ng-id="solicitacaoReaberturaProcesso.processo" ng-disabled='!edit' ng-obrigatorio='true' ng-label="ECM.LABEL.PROTOCOLO" ng-model="solicitacaoReaberturaProcesso.processo" form='solicitacaoReaberturaProcessoForm' ng-find="findAutoCompleteProcesso(value)"
  61 + ng-item="item.nup" />
  62 +
57 63 </div>
  64 +
58 65 </div>
59 66  
60 67  
61 68 <div class="row">
62 69 <div class="col-sm-8">
63   - <label-text-area ng-id="reabrirProcesso.justificativa" ng-disabled="!edit" ng-typ="text" ng-obrigatorio='true' ng-label="ECM.LABEL.JUSTIFICATIVA" form='reabrirProcessoForm' ng-model="reabrirProcesso.justificativa"
  70 + <label-text-area ng-id="solicitacaoReaberturaProcesso.justificativaSolicitacao" ng-disabled="!edit" ng-typ="text" ng-obrigatorio='true' ng-label="ECM.LABEL.JUSTIFICATIVA" form='solicitacaoReaberturaProcessoForm' ng-model="solicitacaoReaberturaProcesso.justificativaSolicitacao"
64 71 ng-custom-maxlength='255' />
65 72 </div>
66 73 </div>
  74 +
  75 + <div ng-if= "solicitacaoReaberturaProcesso.id">
  76 + <div class="row" >
  77 + <div class="col-sm-8">
  78 + <label-input ng-id="status" ng-label="ECM.LABEL.STATUS" ng-model="status" form="solicitacaoReaberturaProcessoForm" ng-obrigatorio="true" ng-custom-maxlength="255" ng-type="text" ng-disabled="solicitacaoReaberturaProcesso.id" />
  79 + </div>
  80 + </div>
  81 +
  82 + <div class="row" ng-if="solicitacaoReaberturaProcesso.id && solicitacaoReaberturaProcesso.status.codigo == 3">
  83 + <div class="col-sm-8">
  84 + <label-text-area ng-id="solicitacaoReaberturaProcesso.justificativaRejeicao" ng-disabled="solicitacaoReaberturaProcesso.id" ng-typ="text" ng-obrigatorio='false' ng-label="ECM.LABEL.JUSTIFICATIVAREJEICAO" form='solicitacaoReaberturaProcessoForm' ng-model="solicitacaoReaberturaProcesso.justificativaRejeicao"
  85 + ng-custom-maxlength='255' />
  86 + </div>
  87 + </div>
  88 + </div>
67 89 </form>
68 90 </div>
69 91 <!-- .page-content -->
... ...