Commit e89fab8549ba5ff4e9d86f39bc2648302eb16698

Authored by andre.silva
1 parent 8632374c
Exists in master

tarefa redmine 3216

cit-ecm-api/src/main/java/br/com/centralit/api/framework/json/ViewsEcm.java
... ... @@ -64,6 +64,10 @@ public class ViewsEcm extends Views {
64 64  
65 65 public static class NivelAcessoTipoDocumentoEdit extends NivelAcessoTipoDocumentoList{};
66 66  
  67 + public static class ClassificarProcessoDocumentoList extends Views.GenericView{};
  68 +
  69 + public static class ClassificarProcessoDocumento extends ClassificarProcessoDocumentoList{};
  70 +
67 71 public static class NivelAcessoTipoProcessoList extends Views.GenericView{};
68 72  
69 73 public static class NivelAcessoTipoProcessoEdit extends NivelAcessoTipoProcessoList{};
... ...
cit-ecm-api/src/main/java/br/com/centralit/api/model/NivelAcessoTipoDocumento.java
... ... @@ -69,7 +69,7 @@ public class NivelAcessoTipoDocumento extends PersistentObjectAudit {
69 69  
70 70 /** Atributo tipoDocumento. */
71 71 @ManyToOne(fetch = FetchType.LAZY)
72   - @JsonView({ ViewsEcm.NivelAcessoTipoDocumentoEdit.class, ViewsEcm.DocumentoGedEdit.class })
  72 + @JsonView({ ViewsEcm.NivelAcessoTipoDocumentoEdit.class, ViewsEcm.DocumentoGedEdit.class})
73 73 private TipoDocumento tipoDocumento;
74 74  
75 75 /** Atributo tipoDocumentoRemocao. */
... ...
cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/DocumentoGedServiceImpl.java
... ... @@ -773,13 +773,17 @@ public class DocumentoGedServiceImpl extends GenericServiceImpl<DocumentoGed, Lo
773 773  
774 774 if (!UtilColecao.isVazio(listaDocumentos)) {
775 775 for (DocumentoGed documento : listaDocumentos) {
776   - if (documento.getSigilo() == null) {
777   - documento.setAprovado(Boolean.TRUE);
  776 + DocumentoGed entity = (DocumentoGed) this.documentoGedDao.getReference(documento.getId());
  777 + if (documento.getNivelAcesso() == null) {
  778 + entity.setAprovado(Boolean.TRUE);
778 779 }
779 780  
780   - documento.setSigiloOriginal(documento.getSigilo());
781   - documento.setNivelAcessoOriginal(documento.getNivelAcesso());
782   - this.merge(documento);
  781 +
  782 + entity.setSigiloOriginal(documento.getSigilo());
  783 + entity.setNivelAcessoOriginal(documento.getNivelAcesso());
  784 + entity.setSigilo(documento.getSigilo());
  785 + entity.setNivelAcesso(documento.getNivelAcesso());
  786 + super.merge(entity);
783 787 }
784 788  
785 789 }
... ...
cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/ProcessoServiceImpl.java
... ... @@ -136,10 +136,12 @@ public class ProcessoServiceImpl extends GenericServiceImpl<Processo, Long> impl
136 136 this.validarEntidade(entity, this.validator);
137 137  
138 138 this.montarEntidade(entity);
  139 + entity.setSigiloOriginal(entity.getSigilo());
  140 + entity.setNivelAcessoOriginal(entity.getNivelAcesso());
139 141  
140 142 final Processo processo = super.save(entity);
141 143  
142   - /*this.gerarCredenciais(processo);*/
  144 + /* this.gerarCredenciais(processo); */
143 145  
144 146 if (processo.getTipoProtocolo().getNome().equalsIgnoreCase("NUP_NOVO")) {
145 147 this.gerarNUP(processo);
... ... @@ -178,26 +180,27 @@ public class ProcessoServiceImpl extends GenericServiceImpl<Processo, Long> impl
178 180 @Override
179 181 public Processo atualizarSigiloProcesso(Processo entity) {
180 182  
  183 + Processo processo = (Processo) this.processoDao.getReference(entity.getId());
  184 +
181 185 this.validarEntidade(entity, this.validator);
182 186  
183   - this.montarEntidade(entity);
184   - entity.setAprovado(Boolean.TRUE);
185   - entity.setSigiloOriginal(entity.getSigilo());
186   - entity.setNivelAcessoOriginal(entity.getNivelAcesso());
  187 + this.montarEntidade(processo);
187 188  
188   - Processo processo = super.merge(entity);
  189 + processo.setSigiloOriginal(processo.getSigilo());
  190 + processo.setNivelAcessoOriginal(processo.getNivelAcesso());
189 191  
190   - try {
  192 + processo.setSigilo(entity.getSigilo());
  193 + processo.setNivelAcesso(entity.getNivelAcesso());
  194 + processo.setAprovado(entity.getAprovado());
191 195  
192   - // this.solrService.addProcesso(processo);
193   - } catch (final Exception e) {
  196 + processo = super.merge(processo);
  197 +
  198 + documentoGedService.atualizarSigiloDocumentos(entity.getDocumentos());
194 199  
195   - e.printStackTrace();
196   - }
197 200  
198 201 return processo;
199 202 }
200   -
  203 +
201 204 @Override
202 205 public Processo merge(Processo processo) {
203 206  
... ...
cit-ecm-web/bin/src/main/webapp/html/gerenciarProcesso/includeAcaoProcesso.html
... ... @@ -23,7 +23,7 @@
23 23 <div id="widget-processo" ng-show="isProcessoEdit" class="widget-box margin-bottom">
24 24 <div class="widget-header">
25 25 <h2 class="widget-title">
26   - <translate>LABEL.PROCESSO</translate>
  26 + <translate>ECM.LABEL.PROCESSO</translate>
27 27 </h2>
28 28  
29 29 <div class="widget-toolbar">
... ...
cit-ecm-web/src/main/java/br/com/centralit/controller/NivelAcessoTipoDocumentoController.java
... ... @@ -51,5 +51,29 @@ public class NivelAcessoTipoDocumentoController extends GenericController&lt;NivelA
51 51  
52 52 return responseBody;
53 53 }
  54 +
  55 +
  56 + /**
  57 + *
  58 + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p>
  59 + *
  60 + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>
  61 + *
  62 + * Método responsável por
  63 + *
  64 + * @author andre.silva
  65 + *
  66 + * @return
  67 + */
  68 + @RequestMapping(value = "/findAllNivelAcesso", method = RequestMethod.GET, produces = "application/json")
  69 + @ResponseBody
  70 + public ResponseBodyWrapper findAllNivelAcesso() {
  71 +
  72 + ResultResponseVH<Collection<NivelAcessoTipoDocumento>> resultResponseVH = new ResultResponseVH<Collection<NivelAcessoTipoDocumento>>(this.nivelAcessoTipoDocumentoService.findAll());
  73 +
  74 + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(resultResponseVH, ViewsEcm.NivelAcessoTipoDocumentoEdit.class);
  75 +
  76 + return responseBody;
  77 + }
54 78  
55 79 }
... ...
cit-ecm-web/src/main/java/br/com/centralit/controller/ProcessoController.java
... ... @@ -2,6 +2,7 @@ package br.com.centralit.controller;
2 2  
3 3 import org.springframework.beans.factory.annotation.Autowired;
4 4 import org.springframework.stereotype.Controller;
  5 +import org.springframework.web.bind.annotation.RequestBody;
5 6 import org.springframework.web.bind.annotation.RequestMapping;
6 7 import org.springframework.web.bind.annotation.RequestMethod;
7 8 import org.springframework.web.bind.annotation.RequestParam;
... ... @@ -55,6 +56,17 @@ public class ProcessoController extends GenericController&lt;Processo&gt; {
55 56  
56 57 return responseBody;
57 58 }
  59 +
  60 +
  61 + @RequestMapping(method = RequestMethod.POST, value = "atualizarSigiloProcesso")
  62 + @ResponseBody
  63 + public ResponseBodyWrapper atualizarSigiloProcesso(@RequestBody Processo processo) throws Exception {
  64 +
  65 + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(this.processoService.atualizarSigiloProcesso(processo), GenericView.class);
  66 +
  67 + return responseBody;
  68 + }
  69 +
58 70  
59 71 @Override
60 72 public Class<Views.ProcessoEdit> getEditView() {
... ...
cit-ecm-web/src/main/java/br/com/centralit/listener/StartupListenerEcm.java
... ... @@ -139,6 +139,7 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen
139 139 list.add(new AcaoHistoricoAlteracaoProcesso("ENVIAR_PROCESSO", "Enviar Processo", "O processo foi enviado para a <<unidade>>."));
140 140 list.add(new AcaoHistoricoAlteracaoProcesso("JUSTIFICATIVA_ACAO_PROCESSO", "Justificativa", "<<acao>> , protocolo <<protocolo>>. Justificativa: <<justificativa>>."));
141 141 list.add(new AcaoHistoricoAlteracaoProcesso("ACAO_PROCESSO", "Ação", "<<acao>> , protocolo <<protocolo>>."));
  142 + list.add(new AcaoHistoricoAlteracaoProcesso("VALIDAR_PROCESSO", "Validar Processo", "O processo <<protocolo>> foi validado e seus documentos."));
142 143  
143 144 try {
144 145 this.acaoHistoricoAlteracaoProcessoService.saveListIfNotExist(list);
... ... @@ -369,7 +370,12 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen
369 370 internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.PROCESSO_NEGOCIO", "Processo de negócio", dominio, modulo));
370 371 internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.PROPOSTA", "Proposta", dominio, modulo));
371 372 internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.VALIDAR_NIVEL_ACESSO", "Validar nível de acesso", dominio, modulo));
  373 + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.NIVEL_ACESSO_ORIGINAL", "Nível Original", dominio, modulo));
  374 + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.NIVEL_PROPOSTO", "Nível Proposto", dominio, modulo));
  375 + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.NIVEL_REVISADO", "Nível Revisado", dominio, modulo));
  376 + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.NUM_DOCUMENTO", "Número Documento", dominio, modulo));
372 377 internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.RENUNCIAR_CREDENCIAL", "Renunciar credencial", dominio, modulo));
  378 + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.APROVAR", "Aprovar", dominio, modulo));
373 379  
374 380 }
375 381  
... ... @@ -463,6 +469,9 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen
463 469 internacionalizacaoList.add(new Internacionalizacao("ECM.MSG.UNIDADE_SEM_GRUPO_PADRAO", "Não é possível enviar o processo para unidade selecionada. Motivo: Grupo padrão não contém usuário(s)!", dominio, modulo));
464 470 internacionalizacaoList.add(new Internacionalizacao("ECM.MSG.CONFIRMA_CONCLUIR_UNIDADE", "Concluir processo nesta unidade?", dominio, modulo));
465 471 internacionalizacaoList.add(new Internacionalizacao("ECM.MSG.PROCESSO_ENVIADO_SUCESSO", "Processo enviado com sucesso!", dominio, modulo));
  472 + internacionalizacaoList.add(new Internacionalizacao("ECM.MSG_HISTORICO_ECM.VALIDAR_PROCESSO", "Validar Processo", dominio, modulo));
  473 + internacionalizacaoList.add(new Internacionalizacao("ECM.MSG.EXISTE_PROCESSO_ABERTO", "Existe um processo aberto, deseja fechá-lo?", dominio, modulo));
  474 +
466 475  
467 476 }
468 477 }
... ...
cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/ClassificarDocumentoProcessoController.js
1 1 'use strict';
2 2  
3   -citApp.controller('ClassificarDocumentoProcessoController', ['$scope', 'ProcessoRepository', '$translate', '$timeout', 'DominioRepository', '$compile', '$injector', 'DocumentoGedRepository', 'appService', 'NivelAcessoTipoProcessoRepository', 'HipoteseLegalRepository', function ClassificarDocumentoProcessoController($scope, ProcessoRepository, $translate, $timeout, DominioRepository, $compile, $injector, DocumentoGedRepository, appService, NivelAcessoTipoProcessoRepository, HipoteseLegalRepository) {
  3 +citApp.controller('ClassificarDocumentoProcessoController', ['$scope', 'ProcessoRepository', '$translate', '$timeout', 'DominioRepository', '$compile', '$injector', 'DocumentoGedRepository', 'appService', 'NivelAcessoTipoProcessoRepository', 'HipoteseLegalRepository', 'NivelAcessoTipoDocumentoRepository', 'HistoricoAlteracaoProcessoRepository', 'SigiloRepository', function ClassificarDocumentoProcessoController($scope, ProcessoRepository, $translate, $timeout, DominioRepository, $compile, $injector, DocumentoGedRepository, appService, NivelAcessoTipoProcessoRepository, HipoteseLegalRepository, NivelAcessoTipoDocumentoRepository, HistoricoAlteracaoProcessoRepository, SigiloRepository) {
4 4 $scope.$showAdvancedFilters = false;
5 5  
6 6 $scope.totalPages = 10;
... ... @@ -34,10 +34,10 @@ citApp.controller(&#39;ClassificarDocumentoProcessoController&#39;, [&#39;$scope&#39;, &#39;Processo
34 34 angular.element("#editProcessoEcm").scope().resetForm();
35 35 };
36 36  
37   - $scope.headers = [{title : $translate.instant('LABEL.PROTOCOLO'), value : 'nup' },
38   - {title : $translate.instant('LABEL.NIVEL_FINAL'), value : 'nivelAcesso.nivelAcesso.descricao'} ,
39   - {title : $translate.instant('LABEL.PROPOSTA'), value : 'sigilo.tipoSigilo.descricao'},
40   - {title : $translate.instant('LABEL.PRAZO_SIGILO'), value : 'prazoSigilo', filter : 'dateBR' }];
  37 + $scope.headers = [{title : $translate.instant('ECM.LABEL.PROTOCOLO'), value : 'nup' },
  38 + {title : $translate.instant('ECM.LABEL.NIVEL_FINAL'), value : 'nivelAcesso.nivelAcesso.descricao'} ,
  39 + {title : $translate.instant('ECM.LABEL.PROPOSTA'), value : 'sigilo.tipoSigilo.descricao'},
  40 + {title : $translate.instant('ECM.LABEL.PRAZO_SIGILO'), value : 'prazoSigilo', filter : 'dateBR' }];
41 41  
42 42 $scope.filterCriteria = {
43 43 start : 1,
... ... @@ -98,58 +98,78 @@ citApp.controller(&#39;ClassificarDocumentoProcessoController&#39;, [&#39;$scope&#39;, &#39;Processo
98 98 });
99 99 };
100 100  
101   - //SET HIPOTESE LEGAL #INICIO
102   - $scope.setHipoteseLegal = function(){
103   -
104   - $scope.hipoteses = [];
105   -
106   - $scope.processo.hipoteseLegal = null;
107   -
108   - $timeout(function(){
109   - //Limpar o tipoSigiloDocumento caso o nivel selecionado seja diferente de sigiloso
110   - if($scope.processo.nivelAcesso && $scope.processo.nivelAcesso.nivelAcesso.codigo != 0 || !$scope.processo.nivelAcesso){
111   -
112   - $scope.processo.sigilo = {};
113   - };
114   - if($scope.processo.sigilo && $scope.processo.sigilo.id){
115   -
116   - HipoteseLegalRepository.findPorNivelAcesso($scope.processo.sigilo.id).then(function(result) {
117   -
118   - $scope.hipoteses = result;
119   -
120   - });
121   - }else if($scope.processo.nivelAcesso && $scope.processo.nivelAcesso.nivelAcesso.codigo === 1){
122   -
123   - HipoteseLegalRepository.findPorNivelAcesso($scope.processo.nivelAcesso.nivelAcesso.id).then(function(result) {
124   -
125   - $scope.hipoteses = result;
126   -
127   - });
128   - }
129   - });
130   - };
131   -
132   - //SET HIPOTESE LEGAL #INICIO
133   - $scope.montarHipotese = function(){
134   -
135   - if($scope.processo.sigilo && $scope.processo.sigilo.id){
136   -
137   - HipoteseLegalRepository.findPorNivelAcesso($scope.processo.sigilo.id).then(function(result) {
138   -
139   - $scope.hipoteses = result;
140   -
141   - });
142   - }else if($scope.processo.sigilo.nivelAcesso.codigo === 1){
143   -
144   - HipoteseLegalRepository.findPorNivelAcesso($scope.processo.nivelAcesso.nivelAcesso.id).then(function(result) {
145   -
146   - $scope.hipoteses = result;
147   -
148   - });
149   - }
  101 +
  102 + // SALVA O Processo
  103 + $scope.saveOrUpdate = function(){
  104 +
  105 + $scope.classificarDocumentoProcessoForm.$submitted = true;
  106 +
  107 + //verifica se o formulario está valido para salvar
  108 + if($scope.classificarDocumentoProcessoForm.$valid){
  109 +
  110 + $scope.setLoadingSalva(true);
  111 +
  112 +
  113 + ProcessoRepository.atualizarSigiloProcesso($scope.processo).then(function(result) {
  114 + $scope.showAlert("success", $translate.instant('MSG.REGISTRO_SALVO'));
  115 + ProcessoRepository.get($scope.processo.id).then(function(result){
  116 + $scope.processo = result;
  117 + });
  118 + $scope.classificarDocumentoProcessoForm.$submitted = false;
  119 + $scope.atualizaProcesso();
  120 + });
  121 + $scope.setLoading(false);
  122 + }else{
  123 + //Mensagem de erro de campos obrigatorios não preenchidos
  124 + $scope.showAlert('error', $translate.instant('MSG.MN001'), " ", false);
  125 + }
  126 + };
  127 +
  128 +
  129 + $scope.historicoAlteracao = function (processo){
  130 +
  131 + var historicoAlteracaoProcesso = {
  132 + descricaoAcao : $translate.instant('ECM.MSG_HISTORICO_ECM.VALIDAR_PROCESSO'),
  133 + processo : processo,
  134 + mapaAtributos : {'protocolo': processo.nup},
  135 + autor : $scope.usuarioLogado,
  136 + acaoAlteracao : "VALIDAR_PROCESSO"
  137 +
  138 + };
  139 +
  140 + HistoricoAlteracaoProcessoRepository.saveParams(historicoAlteracaoProcesso).then(function(result){ });
150 141 };
151 142  
152 143  
  144 +/* $scope.historicoAlteracao = function (documentos){
  145 +
  146 + angular.forEach(documentos, function(item, key) {
  147 +
  148 + var documento = item.documentoGed;
  149 +
  150 + $scope.AddHistoricoAlteracao(documento);
  151 +
  152 + });
  153 + };*/
  154 +
  155 +
  156 +
  157 + $scope.initializeNivelAcessoDocumento = function(){
  158 + $scope.nivelAcessoTipoDocumentoList = [];
  159 + NivelAcessoTipoDocumentoRepository.findAll().then(function(result) {
  160 + $scope.nivelAcessoTipoDocumentoList = result;
  161 + });
  162 + };
  163 +
  164 +
  165 + $scope.initializeSigiloDocumento = function(){
  166 + $scope.sigiloDocumentoList = [ ];
  167 + SigiloRepository.getList().then(function(result) {
  168 + $scope.sigilos = result;
  169 + });
  170 + };
  171 +
  172 +
153 173 $scope.constroiRelacionamentoTipoProcesso = function(tipoProcesso){
154 174  
155 175 $scope.nivelAcessoList = [];
... ... @@ -172,36 +192,8 @@ citApp.controller(&#39;ClassificarDocumentoProcessoController&#39;, [&#39;$scope&#39;, &#39;Processo
172 192 });
173 193 };
174 194  
175   -
176   -
177   - //adiciona a lista de documentos ao processo
178   - $scope.retrieveAditionalHtml = function(processo) {
179   - processo.$show = !processo.$show;
180   - if (!processo.$show)
181   - return;
182   -
183   - if(!processo.documentos){
184   - DocumentoGedRepository.findByProcessoSigilo(processo.id).then(function(result) {
185   - processo.documentos = result;
186   - $scope.showAditionalHtml(processo);
187   - });
188   - }else{
189   - $scope.showAditionalHtml(processo);
190   - }
191   -
192   - };
193   -
194   - //abre a div com os documentos
195   - $scope.showAditionalHtml = function(processo) {
196   - var id = "divHtmlAdicional_" + $scope.idPainelItem + "_" + processo.id;
197   -
198   - var el = document.getElementById(id);
199   - if (!el || el.innerHTML != '')
200   - return;
201 195  
202   - var element = angular.element("#"+id);
203   - el.focus();
204   - };
205   -
  196 + $scope.initializeNivelAcessoDocumento();
  197 + $scope.initializeSigiloDocumento();
206 198 $scope.fetchResult();
207 199 }]);
... ...
cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/ClassificarDocumentoProcessoListController.js
... ... @@ -35,8 +35,8 @@ citApp.controller(&#39;ClassificarDocumentoProcessoListController&#39;, [&#39;$scope&#39;, &#39;Proc
35 35 };
36 36  
37 37 $scope.headers = [{title : $translate.instant('LABEL.PROTOCOLO'), value : 'nup' },
38   - {title : $translate.instant('LABEL.NIVEL_FINAL'), value : 'nivelAcesso.nivelAcesso.descricao'} ,
39   - {title : $translate.instant('LABEL.PROPOSTA'), value : 'sigilo.tipoSigilo.descricao'},
  38 + {title : $translate.instant('LABEL.PROPOSTA'), value : 'sigiloOriginal.tipoSigilo.descricao'},
  39 + {title : $translate.instant('LABEL.NIVEL_FINAL'), value : 'sigilo.tipoSigilo.descricao'} ,
40 40 {title : $translate.instant('LABEL.PRAZO_SIGILO'), value : 'prazoSigilo', filter : 'dateBR' }];
41 41  
42 42 $scope.filterCriteria = {
... ... @@ -44,9 +44,9 @@ citApp.controller(&#39;ClassificarDocumentoProcessoListController&#39;, [&#39;$scope&#39;, &#39;Proc
44 44 dir : 'asc',
45 45 sort : 'id',
46 46 limit : 10,
47   - fields: ['id', 'nup', 'nivelAcesso.nivelAcesso.descricao', 'sigilo.tipoSigilo.descricao', 'nivelAcesso.nivelAcesso.descricao', 'prazoSigilo'],
  47 + fields: ['id', 'nup', 'sigiloOriginal.tipoSigilo.descricao', 'sigilo.tipoSigilo.descricao', 'prazoSigilo'],
48 48 filters : [{type : 'string', field : 'nup' },
49   - {type : 'string', field : 'nivelAcesso.nivelAcesso.descricao' } ,
  49 + {type : 'string', field : 'sigiloOriginal.tipoSigilo.descricao' } ,
50 50 {type : 'string', field : 'sigilo.tipoSigilo.descricao', comparison : 'nn'},
51 51 {type : 'date', field : 'prazoSigilo' }]
52 52 };
... ... @@ -112,10 +112,10 @@ citApp.controller(&#39;ClassificarDocumentoProcessoListController&#39;, [&#39;$scope&#39;, &#39;Proc
112 112 });
113 113  
114 114 if (appService.existsWorkspace(pagina)) {
115   - $scope.$openModalConfirm({message:$translate.instant('MSG.EXISTE_PROCESSO_ABERTO'), callback: function(){
  115 + $scope.$openModalConfirm({message:$translate.instant('ECM.MSG.EXISTE_PROCESSO_ABERTO'), callback: function(){
116 116 $scope.$modalConfirmInstance.dismiss('cancel');
117 117 $scope.setLoading(true);
118   - $scope.openWorkspaceIfNotOpen($translate.instant('LABEL.PROCESSO'), pagina, 'mod-orange');
  118 + $scope.openWorkspaceIfNotOpen($translate.instant('ECM.LABEL.PROCESSO'), pagina, 'mod-orange');
119 119 $timeout(function() {
120 120 angular.element('#searchGerenciarProcesso').scope().getProcesso(processo);
121 121  
... ... @@ -123,7 +123,7 @@ citApp.controller(&#39;ClassificarDocumentoProcessoListController&#39;, [&#39;$scope&#39;, &#39;Proc
123 123 $scope.setLoading(false);
124 124 }});
125 125 }else{
126   - $scope.openWorkspaceIfNotOpen($translate.instant('LABEL.PROCESSO'), pagina, 'mod-orange');
  126 + $scope.openWorkspaceIfNotOpen($translate.instant('ECM.LABEL.PROCESSO'), pagina, 'mod-orange');
127 127 $timeout(function() {
128 128 angular.element('#searchGerenciarProcesso').scope().getProcesso(processo);
129 129  
... ...
cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/GerenciarProcessoController.js
... ... @@ -26,6 +26,7 @@ citApp.controller(&#39;GerenciarProcessoController&#39;, [ &#39;$scope&#39;, &#39;$translate&#39;, &#39;$tim
26 26 $scope.widgetExemploIsCollapsed = true;
27 27 $scope.tratimitado();
28 28 $scope.isGerenciarCredencialProcesso = false;
  29 + $scope.isClassificarProcessoDocumento = false;
29 30  
30 31 };
31 32  
... ... @@ -287,6 +288,16 @@ citApp.controller(&#39;GerenciarProcessoController&#39;, [ &#39;$scope&#39;, &#39;$translate&#39;, &#39;$tim
287 288 });
288 289 };
289 290  
  291 +
  292 + //CLASSIFICAR PROCESSO E DOCUMENTO
  293 + $scope.classificarDocumentoProceso = function(){
  294 + $scope.fecharPagina();
  295 + $scope.isClassificarProcessoDocumento = true;
  296 + $timeout(function() {
  297 + angular.element("#classificarDocumento").scope().getProcesso($scope.processo);
  298 + });
  299 + };
  300 +
290 301 //REMOVER DOCUMENTO
291 302 $scope.removeDocumento = function(documento, index){
292 303 $scope.$openModalConfirm({
... ... @@ -579,20 +590,22 @@ citApp.controller(&#39;GerenciarProcessoController&#39;, [ &#39;$scope&#39;, &#39;$translate&#39;, &#39;$tim
579 590 };
580 591 // FIM EXECUTAR BPE
581 592  
582   - $scope.initialize();
  593 + if($scope.task != null){
  594 + $scope.initialize();
  595 + }
583 596  
584 597 $scope.getProcesso = function(processo){
585 598  
586 599 $scope.setLoadingGet(true);
587 600  
588 601 $scope.isHistoricoProcesso = true;
589   -
  602 +
590 603 $scope.processo = processo;
591 604 $scope.idProcesso = $scope.processo.id;
592 605  
593 606 $scope.setLoading(false);
594 607  
595   - };
  608 + };
596 609  
597 610  
598 611 }]);
... ...
cit-ecm-web/src/main/webapp/assets/js/angular/custom/repository/NivelAcessoTipoDocumentoRepository.js
... ... @@ -9,6 +9,10 @@ citApp.factory(&#39;NivelAcessoTipoDocumentoRepository&#39;, [&#39;RestangularEcm&#39;, &#39;Abstrac
9 9 this.findPorIdTipoDocumento = function(idTipoDocumento) {
10 10 return restangularEcm.one(this.route).getList("findPorIdTipoDocumento", {idTipoDocumento : idTipoDocumento}).then();
11 11 };
  12 +
  13 + this.findAll = function() {
  14 + return restangularEcm.one(this.route).getList("findAllNivelAcesso").then();
  15 + };
12 16 }
13 17  
14 18 AbstractRepository.extend(NivelAcessoTipoDocumentoRepository);
... ...
cit-ecm-web/src/main/webapp/assets/js/angular/custom/repository/ProcessoRepository.js
... ... @@ -12,6 +12,10 @@ citApp.factory(&#39;ProcessoRepository&#39;, [&#39;RestangularEcm&#39;, &#39;AbstractRepository&#39;, fu
12 12 this.concluir = function(paramsGet) {
13 13 return restangularEcm.one(this.route + "/concluir").get(paramsGet);
14 14 };
  15 +
  16 + this.atualizarSigiloProcesso = function(paramsGet) {
  17 + return restangularEcm.all(this.route + '/atualizarSigiloProcesso').post(paramsGet);
  18 + };
15 19 }
16 20  
17 21 AbstractRepository.extend(ProcessoRepository);
... ...
cit-ecm-web/src/main/webapp/html/classificarProcessoDocumento/classificarProcessoDocumento.html
1 1  
2 2  
3   -<div ng-controller="ClassificarDocumentoProcessoController as classificarDocumentoProcessoController">
4   - <form name="classificarDocumentoclassificarDocumentoclassificarDocumentoclassificarDocumentoProcessoForm" novalidate autocomplete="off">
  3 +<div id="classificarDocumento" ng-controller="ClassificarDocumentoProcessoController as classificarDocumentoProcessoController">
  4 + <form name="classificarDocumentoProcessoForm" novalidate autocomplete="off">
5 5  
6 6 <div id="widget-classificarDocumentoProcesso" class="widget-box margin-bottom">
7 7 <div class="widget-header">
8 8 <h2 class="widget-title">
9   - <translate>LABEL.VALIDAR_NIVEL_ACESSO</translate>
  9 + <translate>ECM.LABEL.VALIDAR_NIVEL_ACESSO</translate>
10 10 </h2>
11 11  
12 12 <div class="widget-toolbar">
... ... @@ -16,125 +16,127 @@
16 16 </div>
17 17 <div class="widget-main clearfix">
18 18 <div id="classificarDocumentoProcessoEdit" class="page-content clearfix">
19   - <!-- Informações do processo -->
20   - <fieldset>
21   - <legend>
22   - <h5><translate>LABEL.INFORMACAODOPROCESSO</translate></h5>
23   - </legend>
24   -
25   - <div class="profile-user-info">
26   - <div class="profile-info-row">
27   - <div class="profile-info-name">
28   - <translate>LABEL.PROTOCOLO</translate>
29   - </div>
30   -
31   - <div class="profile-info-value">
  19 + <!-- Informações do processo -->
  20 + <fieldset>
  21 + <legend>
  22 + <h5>
  23 + <translate>ECM.LABEL.INFORMACAODOPROCESSO</translate>
  24 + </h5>
  25 + </legend>
  26 +
  27 + <!-- <div class="profile-user-info"> -->
  28 + <div class="row">
  29 + <div class="col-md-12">
  30 + <span class="text-bold"><translate>ECM.LABEL.PROTOCOLO</translate></span>&nbsp;&nbsp;
32 31 <span>{{processo.nup}}</span>
33 32 </div>
34 33 </div>
35   -
36   - <div class="profile-info-row">
37   - <div class="profile-info-name">
38   - <translate>LABEL.NIVEL_ACESSO_ORIGINAL</translate>
  34 +
  35 + <div class="row">
  36 + <div class="col-md-6">
  37 + <span class="text-bold"><translate>ECM.LABEL.NIVEL_ACESSO_ORIGINAL</translate></span>&nbsp;&nbsp;
  38 + <span>{{processo.nivelAcessoOriginal.nivelAcesso.descricao}}</span>
39 39 </div>
40   -
41   - <div class="profile-info-value">
42   - <span>Publico</span>
  40 +
  41 + <div class="col-md-6">
  42 + <span class="text-bold" ><translate>ECM.LABEL.NIVEL_SIGILO</translate></span>&nbsp;&nbsp;
  43 + <span>{{processo.sigiloOriginal.tipoSigilo.descricao}}</span>
43 44 </div>
  45 +
44 46 </div>
45   -
46   - </div>
47   -
  47 +
  48 + <!-- </div> -->
  49 +
48 50 <br></br>
49   -
  51 +
50 52 <div class="row" ng-show='processo.tipoProcesso.id'>
51   - <div class="col-md-6">
52   - <label-select ng-id="processo.nivelAcesso" ng-label="LABEL.NIVEL_ACESSO" ng-model="processo.nivelAcesso" ng-custom-change='setHipoteseLegal(processo.nivelAcesso.id)' form="classificarDocumentoclassificarDocumentoProcessoForm"
53   - ng-obrigatorio="true" ng-custom-options="nivelAcessoTipoProcesso.originalElement as nivelAcessoTipoProcesso.nivelAcesso.descricao for nivelAcessoTipoProcesso"
54   - track-by="track by nivelAcessoTipoProcesso.id" ng-list="nivelAcessoList" />
55   - </div>
56   -
57 53 <div class="col-md-6">
  54 + <label-select ng-id="processo.nivelAcesso" ng-label="ECM.LABEL.NIVEL_ACESSO" ng-model="processo.nivelAcesso"
  55 + form="classificarDocumentoclassificarDocumentoProcessoForm" ng-obrigatorio="true"
  56 + ng-custom-options="nivelAcessoTipoProcesso.originalElement as nivelAcessoTipoProcesso.nivelAcesso.descricao for nivelAcessoTipoProcesso" track-by="track by nivelAcessoTipoProcesso.id"
  57 + ng-list="nivelAcessoList" />
  58 + </div>
  59 +
  60 + <div class="col-md-6" ng-show="processo.nivelAcesso.nivelAcesso.codigo == 0">
58 61 <div class="form-group">
59   - <label class="control-label block" ng-class="{'has-error': classificarDocumentoclassificarDocumentoclassificarDocumentoProcessoForm['processo.sigilo.id'].$error.required && (!classificarDocumentoclassificarDocumentoclassificarDocumentoProcessoForm['processo.sigilo.id'].$pristine || classificarDocumentoclassificarDocumentoclassificarDocumentoProcessoForm.$submitted)}">
60   - <translate>LABEL.SIGILO</translate> <span class="red">*</span> <i
61   - ng-show="classificarDocumentoclassificarDocumentoclassificarDocumentoProcessoForm['processo.sigilo.id'].$error.required && (!classificarDocumentoclassificarDocumentoclassificarDocumentoProcessoForm['processo.sigilo.id'].$pristine || classificarDocumentoclassificarDocumentoclassificarDocumentoProcessoForm.$submitted)" class='fa fa-warning red'
62   - tooltip="{{$translate.instant('LABEL.SIGILO') + ' ' +$translate.instant('LABEL.CAMPO_OBRIGATORIO')}}" tooltip-placement='top'></i>
  62 + <label class="control-label block"
  63 + ng-class="{'has-error': classificarDocumentoProcessoForm['processo.sigilo.id'].$error.required && (!classificarDocumentoProcessoForm['processo.sigilo.id'].$pristine || classificarDocumentoProcessoForm.$submitted)}">
  64 + <translate>ECM.LABEL.SIGILO</translate> <span class="red">*</span> <i
  65 + ng-show="classificarDocumentoProcessoForm['processo.sigilo.id'].$error.required && (!classificarDocumentoProcessoForm['processo.sigilo.id'].$pristine || classificarDocumentoProcessoForm.$submitted)"
  66 + class='fa fa-warning red' tooltip="{{$translate.instant('LABEL.SIGILO') + ' ' +$translate.instant('LABEL.CAMPO_OBRIGATORIO')}}" tooltip-placement='top'></i>
63 67 </label>
64 68  
65   - <div class="radio-inline" ng-repeat="sigiloTipoProcesso in processo.nivelAcesso.sigilos">
66   - <label> <input type="radio" required="processo.nivelAcesso.nivelAcesso.codigo == 1" name="processo.sigilo.id" id="processo.tipoSigilo.id"
67   - ng-value="sigiloTipoProcesso.sigilo.id" ng-model="processo.sigilo.id" ng-change='setHipoteseLegal(processo.sigilo.id)' /> {{sigiloTipoProcesso.sigilo.tipoSigilo.descricao}}
68   - </label>
  69 + <div class="col-md-6">
  70 + <label-select ng-id="processo.sigilo" ng-model="processo.sigilo" form="classificarDocumentoProcessoForm"
  71 + ng-custom-options="sigilo.originalElement as sigilo.tipoSigilo.descricao for sigilo"
  72 + track-by="track by sigilo.id" ng-list="sigilos" />
69 73 </div>
70 74 </div>
71 75 </div>
72   -
  76 +
  77 + <div class="col-md-6">
  78 + <label-input-checkbox ng-model="processo.aprovado" ng-label="ECM.LABEL.APROVAR"></label-input-checkbox>
  79 + </div>
  80 +
73 81 </div>
74   - </fieldset>
75   - <!-- fim informações do processo -->
76   -
77   - <fieldset>
78   - <legend>
79   - <h5><translate>LABEL.DOCUMENTOS</translate></h5>
80   - </legend>
81   -
82   - <div class="row">
83   -
84   - <div class="col-md-12">
  82 + </fieldset>
  83 + <!-- fim informações do processo -->
  84 +
  85 + <fieldset>
  86 + <legend>
  87 + <h5>
  88 + <translate>ECM.LABEL.DOCUMENTOS</translate>
  89 + </h5>
  90 + </legend>
  91 +
85 92 <div class="row">
86   - <div class="col-sm-12">
87   - <div class="panel panel-default">
88   - <table class="table table-striped table-bordered table-hover">
89   - <thead>
90   - <tr>
91   - <th width="5%" class="text-center"></th>
92   - <th class="text-center"><translate>LABEL.PROTOCOLO</translate></th>
93   - <th class="text-center"><translate>LABEL.DOCUMENTO</translate></th>
94   - <th class="text-center"><translate>LABEL.NIVEL_PROPOSTO</translate></th>
95   - <th class="text-center"><translate>LABEL.NIVEL_REVISADO</translate></th>
96   -
97   - </tr>
98   - </thead>
99   - <tbody>
100   - <tr ng-repeat="documento in processo.documentos">
101   - <!-- <td class="text-center"><input type="radio" name="anexarProcessoChecked" ng-value="anexarProcesso" ng-model="$parent.anexarProcessoChecked" /></td> -->
102   - <td class="text-center">{{processo.nup}}</td>
103   - <td class="text-center">{{documento.id}}</td>
104   - <td class="text-center">{{documento.nivelAcesso.nivelAcesso.descricao}}</td>
105   - <td>
106   - <div class="btn-group dropdown" role="group" dropdown>
107   - <button title="{{$translate.instant('LABEL.ACOES')}}" alt="{{$translate.instant('LABEL.ACOES')}}" class="btn btn-clear" dropdown-toggle ng-click="recuperarPermissoes(assignment)" >
108   - <i class="fa fa-cog blue bigger-170"></i>
109   - <span class="fa fa-caret-down icon-on-right"></span>
110   - </button>
111   - <ul class="dropdown-menu-center dropdown-menu dropdown-caret" role="menu">
112   - <li >
113   - <span class="small red">&nbsp;&nbsp;&nbsp;&nbsp;<b><translate>MSG.AGUARDE</translate></b></span>
114   - </li>
115   - <li>
116   - <a href="javascript:;" ng-click="executarTarefa(assignment)" ><i class="fa fa-play-circle-o green"></i> <translate>LABEL.EXECUTAR</translate></a>
117   - </li>
118   - <li>
119   - <a href="javascript:;" ng-click="capturarTarefa(assignment)" ><i class="fa fa-thumb-tack orange"></i> <translate>LABEL.CAPTURAR</translate></a>
120   - </li>
121   -
122   - </ul>
123   - </div>
124   - </td>
125   - </tr>
126   - <tr ng-hide="anexarProcessoVH.listaProcessoAnexado.length > 0">
127   - <td colspan="5" class="text-center"><translate>LABEL.TABELA_VAZIA</translate></td>
128   - </tr>
129   - </tbody>
130   - </table>
  93 +
  94 + <div class="col-md-12">
  95 + <div class="row">
  96 + <div class="col-sm-12">
  97 + <div class="panel panel-default">
  98 + <table class="table table-striped table-bordered table-hover">
  99 + <thead>
  100 + <tr>
  101 + <th style="width: 20%;" class="text-center"><translate>ECM.LABEL.PROTOCOLO</translate></th>
  102 + <th style="width: 15%;" class="text-center"><translate>ECM.LABEL.NUM_DOCUMENTO</translate></th>
  103 + <th class="text-center"><translate>ECM.LABEL.NIVEL_PROPOSTO</translate></th>
  104 + <th class="text-center"><translate>ECM.LABEL.NIVEL_REVISADO</translate></th>
  105 +
  106 + </tr>
  107 + </thead>
  108 + <tbody>
  109 + <tr ng-repeat="documento in processo.documentos">
  110 + <td class="text-center">{{processo.nup}}</td>
  111 + <td class="text-center">{{processo.id}}</td>
  112 + <td>
  113 + <div class="row">
  114 + <div class="col-md-6">
  115 + <label-select ng-id="documento.nivelAcesso" ng-model="documento.nivelAcesso" form="classificarDocumentoProcessoForm"
  116 + ng-custom-options="nivelAcessoTipoDocumento.originalElement as nivelAcessoTipoDocumento.nivelAcesso.descricao for nivelAcessoTipoDocumento"
  117 + track-by="track by nivelAcessoTipoDocumento.id" ng-list="nivelAcessoTipoDocumentoList" />
  118 + </div>
  119 + <div class="col-md-6">
  120 + <label-select ng-id="documento.sigilo" ng-model="documento.sigilo" form="classificarDocumentoProcessoForm" ng-show="documento.nivelAcesso.nivelAcesso.codigo == 0"
  121 + ng-custom-options="sigilo.originalElement as sigilo.tipoSigilo.descricao for sigilo"
  122 + track-by="track by sigilo.id" ng-list="sigilos" />
  123 + </div>
  124 +
  125 + </td>
  126 + <td class="text-center">{{documento.sigilo.tipoSigilo.descricao}}</td>
  127 + </tr>
  128 + <tr ng-hide="processo.documentos.length > 0">
  129 + <td colspan="5" class="text-center"><translate>LABEL.TABELA_VAZIA</translate></td>
  130 + </tr>
  131 + </tbody>
  132 + </table>
  133 + </div>
  134 + </div>
131 135 </div>
132 136 </div>
133 137 </div>
134   - </div>
135   - </div>
136   - </fieldset>
137   -
  138 + </fieldset>
  139 +
138 140  
139 141 <div class="row">
140 142 <div class="col-md-12">
... ...
cit-ecm-web/src/main/webapp/html/classificarProcessoDocumento/classificarProcessoDocumentoList.html
... ... @@ -267,7 +267,7 @@
267 267  
268 268 <tr ng-repeat-start="processo in processos">
269 269  
270   - <td style="width: 5%;">
  270 + <td style="width: 25%;">
271 271 <a href="#void" ng-click="abrirVisualizar(processo)">
272 272 <span class="small green">{{processo.nup}}&nbsp;
273 273 <a href="javascript:;" class="blue" ng-click="retrieveAditionalHtml(processo)">
... ... @@ -278,11 +278,11 @@
278 278 </td>
279 279  
280 280  
281   - <td><span class="small green">{{processo['nivelAcesso.nivelAcesso.descricao']}}</span></td>
  281 + <td style="width: 25%;"><span class="small green">{{processo['sigiloOriginal.tipoSigilo.descricao']}}</span></td>
282 282  
283   - <td><span class="small green">{{processo['sigilo.tipoSigilo.descricao']}}</span></td>
  283 + <td style="width: 25%;"><span class="small green">{{processo['sigilo.tipoSigilo.descricao']}}</span></td>
284 284  
285   - <td><span class="small green">{{processo.prazoSigilo | date:'dd-MM-yyyy'}}</span></td>
  285 + <td style="width: 25%;"><span class="small green">{{processo.prazoSigilo | date:'dd-MM-yyyy'}}</span></td>
286 286  
287 287 </tr>
288 288  
... ...