Commit e6a6d14cc9b533c2b75890203b1ea3dbcf47fef6
1 parent
5686a9b8
Exists in
master
#3216 - Classificar a Informação de Documentos e Processos
Showing
4 changed files
with
102 additions
and
39 deletions
Show diff stats
cit-ecm-api/src/main/java/br/com/centralit/api/model/DocumentoGed.java
| @@ -66,7 +66,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize; | @@ -66,7 +66,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize; | ||
| 66 | * | 66 | * |
| 67 | */ | 67 | */ |
| 68 | @Entity | 68 | @Entity |
| 69 | -@JsonIgnoreProperties({ "$checked" }) | 69 | +@JsonIgnoreProperties({ "$checked", "nivelAcessoList" }) |
| 70 | public class DocumentoGed extends PersistentObjectUnidade implements Cloneable { | 70 | public class DocumentoGed extends PersistentObjectUnidade implements Cloneable { |
| 71 | 71 | ||
| 72 | /** Atributo serialVersionUID. */ | 72 | /** Atributo serialVersionUID. */ |
cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/DocumentoGedServiceImpl.java
| @@ -26,9 +26,11 @@ import br.com.centralit.api.model.DocumentoGed; | @@ -26,9 +26,11 @@ import br.com.centralit.api.model.DocumentoGed; | ||
| 26 | import br.com.centralit.api.model.InteressadoDocumento; | 26 | import br.com.centralit.api.model.InteressadoDocumento; |
| 27 | import br.com.centralit.api.model.Processo; | 27 | import br.com.centralit.api.model.Processo; |
| 28 | import br.com.centralit.api.service.AnexoGedService; | 28 | import br.com.centralit.api.service.AnexoGedService; |
| 29 | +import br.com.centralit.api.service.CredencialProcessoService; | ||
| 29 | import br.com.centralit.api.service.DocumentoGedService; | 30 | import br.com.centralit.api.service.DocumentoGedService; |
| 30 | import br.com.centralit.api.service.DominioService; | 31 | import br.com.centralit.api.service.DominioService; |
| 31 | import br.com.centralit.api.service.NivelAcessoTipoDocumentoService; | 32 | import br.com.centralit.api.service.NivelAcessoTipoDocumentoService; |
| 33 | +import br.com.centralit.api.service.NotificacaoService; | ||
| 32 | import br.com.centralit.api.service.PlanoClassificacaoService; | 34 | import br.com.centralit.api.service.PlanoClassificacaoService; |
| 33 | import br.com.centralit.api.service.ProcessoService; | 35 | import br.com.centralit.api.service.ProcessoService; |
| 34 | import br.com.centralit.api.service.SigiloService; | 36 | import br.com.centralit.api.service.SigiloService; |
| @@ -38,6 +40,9 @@ import br.com.centralit.api.service.UnidadeProcessoService; | @@ -38,6 +40,9 @@ import br.com.centralit.api.service.UnidadeProcessoService; | ||
| 38 | import br.com.centralit.framework.exception.BusinessException; | 40 | import br.com.centralit.framework.exception.BusinessException; |
| 39 | import br.com.centralit.framework.exception.CodigoErro; | 41 | import br.com.centralit.framework.exception.CodigoErro; |
| 40 | import br.com.centralit.framework.model.Dominio; | 42 | import br.com.centralit.framework.model.Dominio; |
| 43 | +import br.com.centralit.framework.model.Grupo; | ||
| 44 | +import br.com.centralit.framework.model.Notificacao; | ||
| 45 | +import br.com.centralit.framework.model.NotificacaoGrupo; | ||
| 41 | import br.com.centralit.framework.service.arquitetura.GedFileService; | 46 | import br.com.centralit.framework.service.arquitetura.GedFileService; |
| 42 | import br.com.centralit.framework.service.arquitetura.GenericServiceImpl; | 47 | import br.com.centralit.framework.service.arquitetura.GenericServiceImpl; |
| 43 | import br.com.centralit.framework.util.UtilColecao; | 48 | import br.com.centralit.framework.util.UtilColecao; |
| @@ -124,6 +129,14 @@ public class DocumentoGedServiceImpl extends GenericServiceImpl<DocumentoGed, Lo | @@ -124,6 +129,14 @@ public class DocumentoGedServiceImpl extends GenericServiceImpl<DocumentoGed, Lo | ||
| 124 | @Autowired | 129 | @Autowired |
| 125 | private UnidadeProcessoService unidadeProcessoService; | 130 | private UnidadeProcessoService unidadeProcessoService; |
| 126 | 131 | ||
| 132 | + /** Atributo notificacaoService. */ | ||
| 133 | + @Autowired | ||
| 134 | + private NotificacaoService notificacaoService; | ||
| 135 | + | ||
| 136 | + /** Atributo credencialProcessoService. */ | ||
| 137 | + @Autowired | ||
| 138 | + private CredencialProcessoService credencialProcessoService; | ||
| 139 | + | ||
| 127 | /** Atributo solrService. */ | 140 | /** Atributo solrService. */ |
| 128 | @Autowired | 141 | @Autowired |
| 129 | private SolrService solrService; | 142 | private SolrService solrService; |
| @@ -276,6 +289,7 @@ public class DocumentoGedServiceImpl extends GenericServiceImpl<DocumentoGed, Lo | @@ -276,6 +289,7 @@ public class DocumentoGedServiceImpl extends GenericServiceImpl<DocumentoGed, Lo | ||
| 276 | entity.setSigilo(this.sigiloService.getReference(entity.getSigilo().getId())); | 289 | entity.setSigilo(this.sigiloService.getReference(entity.getSigilo().getId())); |
| 277 | entity.setStatus(this.dominioService.findByChaveAndCodigo("statusDocumentoGed", 0L)); | 290 | entity.setStatus(this.dominioService.findByChaveAndCodigo("statusDocumentoGed", 0L)); |
| 278 | this.atribuirPrazoPadraoDocumento(entity); | 291 | this.atribuirPrazoPadraoDocumento(entity); |
| 292 | + this.enviarNotificacaoDocumentoSigiloso(entity); | ||
| 279 | } else { | 293 | } else { |
| 280 | 294 | ||
| 281 | entity.setSigilo(null); | 295 | entity.setSigilo(null); |
| @@ -293,7 +307,7 @@ public class DocumentoGedServiceImpl extends GenericServiceImpl<DocumentoGed, Lo | @@ -293,7 +307,7 @@ public class DocumentoGedServiceImpl extends GenericServiceImpl<DocumentoGed, Lo | ||
| 293 | * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a> | 307 | * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a> |
| 294 | * </p> | 308 | * </p> |
| 295 | * | 309 | * |
| 296 | - * Método responsável por | 310 | + * Método responsável por validar o nivel de acesso do documento |
| 297 | * | 311 | * |
| 298 | * @author andre.silva | 312 | * @author andre.silva |
| 299 | * | 313 | * |
| @@ -302,28 +316,31 @@ public class DocumentoGedServiceImpl extends GenericServiceImpl<DocumentoGed, Lo | @@ -302,28 +316,31 @@ public class DocumentoGedServiceImpl extends GenericServiceImpl<DocumentoGed, Lo | ||
| 302 | */ | 316 | */ |
| 303 | private void validarNivelAcessoDocumento(DocumentoGed entity) { | 317 | private void validarNivelAcessoDocumento(DocumentoGed entity) { |
| 304 | 318 | ||
| 305 | - if (entity.getProcesso().getNivelAcesso().getNivelAcesso().getCodigo() == 0L && entity.getNivelAcesso().getNivelAcesso().getCodigo() == 2L) { | ||
| 306 | - throw new BusinessException(DocumentoGedServiceImpl.VALIDAR_NIVEL_ACESSO, CodigoErro.REGRA_NEGOCIO.getValue()); | ||
| 307 | - } else if (entity.getProcesso().getNivelAcesso().getNivelAcesso().getCodigo() == 1L) { | ||
| 308 | - if (entity.getNivelAcesso().getNivelAcesso().getCodigo() != 1L && !UtilObjeto.isReferencia(entity.getSigilo())) { | ||
| 309 | - throw new BusinessException(DocumentoGedServiceImpl.VALIDAR_NIVEL_ACESSO, CodigoErro.REGRA_NEGOCIO.getValue()); | ||
| 310 | - } | ||
| 311 | - } else if (entity.getProcesso().getNivelAcesso().getNivelAcesso().getCodigo() == 2L) { | ||
| 312 | - if (entity.getNivelAcesso().getNivelAcesso().getCodigo() == 0L) { | ||
| 313 | - throw new BusinessException(DocumentoGedServiceImpl.VALIDAR_NIVEL_ACESSO, CodigoErro.REGRA_NEGOCIO.getValue()); | ||
| 314 | - } | ||
| 315 | - } | 319 | + if (entity.getProcesso().getNivelAcesso().getNivelAcesso().getCodigo() != 2L) { |
| 316 | 320 | ||
| 317 | - if (UtilObjeto.isReferencia(entity.getProcesso().getSigilo())) { | ||
| 318 | - if (entity.getProcesso().getSigilo().getTipoSigilo().getCodigo() == 1L) { | ||
| 319 | - if (entity.getSigilo().getTipoSigilo().getCodigo() == 0L) { | 321 | + if (entity.getProcesso().getNivelAcesso().getNivelAcesso().getCodigo() == 0L && entity.getNivelAcesso().getNivelAcesso().getCodigo() == 2L) { |
| 322 | + throw new BusinessException(DocumentoGedServiceImpl.VALIDAR_NIVEL_ACESSO, CodigoErro.REGRA_NEGOCIO.getValue()); | ||
| 323 | + } else if (entity.getProcesso().getNivelAcesso().getNivelAcesso().getCodigo() == 1L) { | ||
| 324 | + if (entity.getNivelAcesso().getNivelAcesso().getCodigo() != 1L && !UtilObjeto.isReferencia(entity.getSigilo())) { | ||
| 320 | throw new BusinessException(DocumentoGedServiceImpl.VALIDAR_NIVEL_ACESSO, CodigoErro.REGRA_NEGOCIO.getValue()); | 325 | throw new BusinessException(DocumentoGedServiceImpl.VALIDAR_NIVEL_ACESSO, CodigoErro.REGRA_NEGOCIO.getValue()); |
| 321 | } | 326 | } |
| 322 | - } else if (entity.getProcesso().getSigilo().getTipoSigilo().getCodigo() == 2L) { | ||
| 323 | - if (!UtilObjeto.isReferencia(entity.getSigilo()) || entity.getSigilo().getTipoSigilo().getCodigo() != 2L) { | 327 | + } else if (entity.getProcesso().getNivelAcesso().getNivelAcesso().getCodigo() == 2L) { |
| 328 | + if (entity.getNivelAcesso().getNivelAcesso().getCodigo() == 0L) { | ||
| 324 | throw new BusinessException(DocumentoGedServiceImpl.VALIDAR_NIVEL_ACESSO, CodigoErro.REGRA_NEGOCIO.getValue()); | 329 | throw new BusinessException(DocumentoGedServiceImpl.VALIDAR_NIVEL_ACESSO, CodigoErro.REGRA_NEGOCIO.getValue()); |
| 325 | } | 330 | } |
| 326 | } | 331 | } |
| 332 | + | ||
| 333 | + if (UtilObjeto.isReferencia(entity.getProcesso().getSigilo())) { | ||
| 334 | + if (entity.getProcesso().getSigilo().getTipoSigilo().getCodigo() == 1L) { | ||
| 335 | + if (entity.getSigilo().getTipoSigilo().getCodigo() == 0L) { | ||
| 336 | + throw new BusinessException(DocumentoGedServiceImpl.VALIDAR_NIVEL_ACESSO, CodigoErro.REGRA_NEGOCIO.getValue()); | ||
| 337 | + } | ||
| 338 | + } else if (entity.getProcesso().getSigilo().getTipoSigilo().getCodigo() == 2L) { | ||
| 339 | + if (!UtilObjeto.isReferencia(entity.getSigilo()) || entity.getSigilo().getTipoSigilo().getCodigo() != 2L) { | ||
| 340 | + throw new BusinessException(DocumentoGedServiceImpl.VALIDAR_NIVEL_ACESSO, CodigoErro.REGRA_NEGOCIO.getValue()); | ||
| 341 | + } | ||
| 342 | + } | ||
| 343 | + } | ||
| 327 | } | 344 | } |
| 328 | 345 | ||
| 329 | } | 346 | } |
| @@ -816,6 +833,8 @@ public class DocumentoGedServiceImpl extends GenericServiceImpl<DocumentoGed, Lo | @@ -816,6 +833,8 @@ public class DocumentoGedServiceImpl extends GenericServiceImpl<DocumentoGed, Lo | ||
| 816 | if (!UtilColecao.isVazio(listaDocumentos)) { | 833 | if (!UtilColecao.isVazio(listaDocumentos)) { |
| 817 | for (DocumentoGed documento : listaDocumentos) { | 834 | for (DocumentoGed documento : listaDocumentos) { |
| 818 | DocumentoGed entity = (DocumentoGed) this.documentoGedDao.getReference(documento.getId()); | 835 | DocumentoGed entity = (DocumentoGed) this.documentoGedDao.getReference(documento.getId()); |
| 836 | + documento.setProcesso(entity.getProcesso()); | ||
| 837 | + this.validarNivelAcessoDocumento(documento); | ||
| 819 | entity.setSigiloOriginal(documento.getSigilo()); | 838 | entity.setSigiloOriginal(documento.getSigilo()); |
| 820 | entity.setNivelAcessoOriginal(documento.getNivelAcesso()); | 839 | entity.setNivelAcessoOriginal(documento.getNivelAcesso()); |
| 821 | entity.setSigilo(documento.getSigilo()); | 840 | entity.setSigilo(documento.getSigilo()); |
| @@ -1008,6 +1027,51 @@ public class DocumentoGedServiceImpl extends GenericServiceImpl<DocumentoGed, Lo | @@ -1008,6 +1027,51 @@ public class DocumentoGedServiceImpl extends GenericServiceImpl<DocumentoGed, Lo | ||
| 1008 | * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a> | 1027 | * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a> |
| 1009 | * </p> | 1028 | * </p> |
| 1010 | * | 1029 | * |
| 1030 | + * Método responsável por enviar notificação para os responsável sobre a criação do documento sigiloso | ||
| 1031 | + * | ||
| 1032 | + * @author rogerio.costa | ||
| 1033 | + * | ||
| 1034 | + * @param DocumentoGed | ||
| 1035 | + */ | ||
| 1036 | + private void enviarNotificacaoDocumentoSigiloso(DocumentoGed documentoGed) { | ||
| 1037 | + | ||
| 1038 | + StringBuilder sb = new StringBuilder(); | ||
| 1039 | + | ||
| 1040 | + sb.append("O documento ").append(documentoGed.getNumero()).append(" foi criado como ").append(documentoGed.getSigilo().getTipoSigilo().getDescricao()); | ||
| 1041 | + | ||
| 1042 | + Dominio tipoNotificacao = this.dominioService.findByChaveAndCodigo("tipoNotificacao", 4L); | ||
| 1043 | + | ||
| 1044 | + Dominio tipoPrioridade = this.dominioService.findByChaveAndCodigo("tipoPrioridade", 2L); | ||
| 1045 | + | ||
| 1046 | + Notificacao notificacao = new Notificacao("Documento sigiloso", sb.toString(), tipoNotificacao, tipoPrioridade, null, null, null); | ||
| 1047 | + | ||
| 1048 | + Collection<Grupo> grupos = this.credencialProcessoService.findGrupoPorSigilo(documentoGed.getSigilo()); | ||
| 1049 | + | ||
| 1050 | + if (!UtilColecao.isVazio(grupos)) { | ||
| 1051 | + | ||
| 1052 | + notificacao.setNotificacaoGrupos(new LinkedList<NotificacaoGrupo>()); | ||
| 1053 | + | ||
| 1054 | + for (Grupo grupo : grupos) { | ||
| 1055 | + | ||
| 1056 | + NotificacaoGrupo notificacaoGrupo = new NotificacaoGrupo(grupo, notificacao); | ||
| 1057 | + | ||
| 1058 | + notificacao.getNotificacaoGrupos().add(notificacaoGrupo); | ||
| 1059 | + } | ||
| 1060 | + | ||
| 1061 | + } | ||
| 1062 | + | ||
| 1063 | + this.notificacaoService.save(notificacao); | ||
| 1064 | + } | ||
| 1065 | + | ||
| 1066 | + /** | ||
| 1067 | + * <p> | ||
| 1068 | + * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a> | ||
| 1069 | + * </p> | ||
| 1070 | + * | ||
| 1071 | + * <p> | ||
| 1072 | + * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a> | ||
| 1073 | + * </p> | ||
| 1074 | + * | ||
| 1011 | * Método responsável por obter através do id do PlanoClassificacao | 1075 | * Método responsável por obter através do id do PlanoClassificacao |
| 1012 | * | 1076 | * |
| 1013 | * @author rogerio.costa | 1077 | * @author rogerio.costa |
cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/ClassificarDocumentoProcessoController.js
| @@ -34,7 +34,6 @@ citApp.controller('ClassificarDocumentoProcessoController', ['$scope', 'Processo | @@ -34,7 +34,6 @@ citApp.controller('ClassificarDocumentoProcessoController', ['$scope', 'Processo | ||
| 34 | delete item.unidadeNome; | 34 | delete item.unidadeNome; |
| 35 | delete item.documentoVersao; | 35 | delete item.documentoVersao; |
| 36 | delete item.originalElement; | 36 | delete item.originalElement; |
| 37 | - delete item.nivelAcessoList; | ||
| 38 | 37 | ||
| 39 | if(item.nivelAcesso != undefined && item.nivelAcesso.sigilos != null){ | 38 | if(item.nivelAcesso != undefined && item.nivelAcesso.sigilos != null){ |
| 40 | angular.forEach(item.nivelAcesso.sigilos, function (item) { | 39 | angular.forEach(item.nivelAcesso.sigilos, function (item) { |
| @@ -121,12 +120,12 @@ citApp.controller('ClassificarDocumentoProcessoController', ['$scope', 'Processo | @@ -121,12 +120,12 @@ citApp.controller('ClassificarDocumentoProcessoController', ['$scope', 'Processo | ||
| 121 | }); | 120 | }); |
| 122 | }; | 121 | }; |
| 123 | 122 | ||
| 124 | - $scope.limparSigilo = function(documento){ | 123 | + $scope.limparSigilo = function(object){ |
| 125 | 124 | ||
| 126 | $timeout(function(){ | 125 | $timeout(function(){ |
| 127 | - if(documento.nivelAcesso.nivelAcesso.codigo != 0){ | 126 | + if(object.nivelAcesso && object.nivelAcesso.nivelAcesso.codigo != 0){ |
| 128 | 127 | ||
| 129 | - documento.sigilo = null; | 128 | + object.sigilo = null; |
| 130 | 129 | ||
| 131 | } | 130 | } |
| 132 | }); | 131 | }); |
| @@ -134,8 +133,12 @@ citApp.controller('ClassificarDocumentoProcessoController', ['$scope', 'Processo | @@ -134,8 +133,12 @@ citApp.controller('ClassificarDocumentoProcessoController', ['$scope', 'Processo | ||
| 134 | 133 | ||
| 135 | $scope.findPorIdTipoProcesso = function(idTipoProcesso){ | 134 | $scope.findPorIdTipoProcesso = function(idTipoProcesso){ |
| 136 | 135 | ||
| 136 | + $scope.nivelAcessoList = []; | ||
| 137 | + | ||
| 137 | NivelAcessoTipoProcessoRepository.findPorIdTipoProcesso(idTipoProcesso).then(function(result) { | 138 | NivelAcessoTipoProcessoRepository.findPorIdTipoProcesso(idTipoProcesso).then(function(result) { |
| 138 | - $scope.nivelAcessoList = result; | 139 | + |
| 140 | + $scope.nivelAcessoList = result; | ||
| 141 | + | ||
| 139 | }); | 142 | }); |
| 140 | }; | 143 | }; |
| 141 | 144 |
cit-ecm-web/src/main/webapp/html/classificarProcessoDocumento/classificarProcessoDocumento.html
| @@ -60,24 +60,20 @@ | @@ -60,24 +60,20 @@ | ||
| 60 | <div class="col-md-4"> | 60 | <div class="col-md-4"> |
| 61 | <label-select ng-id="processoValidacao.nivelAcesso" ng-label="ECM.LABEL.NIVEL_ACESSO" ng-disabled="aprovado" ng-model="processoValidacao.nivelAcesso" | 61 | <label-select ng-id="processoValidacao.nivelAcesso" ng-label="ECM.LABEL.NIVEL_ACESSO" ng-disabled="aprovado" ng-model="processoValidacao.nivelAcesso" |
| 62 | form="classificarDocumentoclassificarDocumentoProcessoForm" ng-obrigatorio="true" | 62 | form="classificarDocumentoclassificarDocumentoProcessoForm" ng-obrigatorio="true" |
| 63 | - ng-custom-options="nivelAcessoTipoProcesso.originalElement as nivelAcessoTipoProcesso.nivelAcesso.descricao for nivelAcessoTipoProcesso" track-by="track by nivelAcessoTipoProcesso.id" | ||
| 64 | - ng-list="nivelAcessoList" /> | 63 | + ng-custom-options="nivelAcessoTipoProcesso.originalElement as nivelAcessoTipoProcesso.nivelAcesso.descricao for nivelAcessoTipoProcesso" |
| 64 | + ng-list="nivelAcessoList" ng-custom-change="limparSigilo(processoValidacao)" track-by="track by nivelAcessoTipoProcesso.id"/> | ||
| 65 | </div> | 65 | </div> |
| 66 | 66 | ||
| 67 | <div class="col-md-4" ng-show="processoValidacao.nivelAcesso.nivelAcesso.codigo == 0"> | 67 | <div class="col-md-4" ng-show="processoValidacao.nivelAcesso.nivelAcesso.codigo == 0"> |
| 68 | <div class="form-group"> | 68 | <div class="form-group"> |
| 69 | - <label class="control-label block" | ||
| 70 | - ng-class="{'has-error': classificarDocumentoProcessoForm['processoValidacao.sigilo.id'].$error.required && (!classificarDocumentoProcessoForm['processoValidacao.sigilo.id'].$pristine || classificarDocumentoProcessoForm.$submitted)}"> | ||
| 71 | - <translate>ECM.LABEL.SIGILO</translate> <span class="red">*</span> <i | ||
| 72 | - ng-show="classificarDocumentoProcessoForm['processoValidacao.sigilo.id'].$error.required && (!classificarDocumentoProcessoForm['processoValidacao.sigilo.id'].$pristine || classificarDocumentoProcessoForm.$submitted)" | ||
| 73 | - class='fa fa-warning red' tooltip="{{$translate.instant('LABEL.SIGILO') + ' ' +$translate.instant('LABEL.CAMPO_OBRIGATORIO')}}" tooltip-placement='top'></i> | ||
| 74 | - </label> | ||
| 75 | - | ||
| 76 | - <label-select ng-id="processoValidacao.sigilo" ng-model="processoValidacao.sigilo" form="classificarDocumentoProcessoForm" | ||
| 77 | - ng-custom-options="sigilo.originalElement as sigilo.tipoSigilo.descricao for sigilo" track-by="track by sigilo.id" ng-list="sigilos" ng-disabled="aprovado" /> | 69 | + |
| 70 | + <label-select ng-id="processoValidacao.sigilo" ng-model="processoValidacao.sigilo" form="classificarDocumentoProcessoForm" ng-LABEL="ECM.LABEL.SIGILO" | ||
| 71 | + ng-custom-options="sigiloTipoProcesso.sigilo as sigiloTipoProcesso.sigilo.tipoSigilo.descricao for sigiloTipoProcesso" | ||
| 72 | + ng-list="processoValidacao.nivelAcesso.sigilos" ng-disabled="aprovado" ng-obrigatorio='processoValidacao.nivelAcesso.nivelAcesso.codigo == 0'/> | ||
| 73 | + | ||
| 78 | </div> | 74 | </div> |
| 79 | </div> | 75 | </div> |
| 80 | - | 76 | + |
| 81 | <div class="col-md-4"> | 77 | <div class="col-md-4"> |
| 82 | <label-input-checkbox ng-model="validado" ng-label="ECM.LABEL.VALIDADO"></label-input-checkbox> | 78 | <label-input-checkbox ng-model="validado" ng-label="ECM.LABEL.VALIDADO"></label-input-checkbox> |
| 83 | </div> | 79 | </div> |
| @@ -102,7 +98,7 @@ | @@ -102,7 +98,7 @@ | ||
| 102 | <tr> | 98 | <tr> |
| 103 | <th style="width: 15%;" class="text-center"><translate>ECM.LABEL.NUM_DOCUMENTO</translate></th> | 99 | <th style="width: 15%;" class="text-center"><translate>ECM.LABEL.NUM_DOCUMENTO</translate></th> |
| 104 | <th style="width: 20%;" class="text-center"><translate>ECM.LABEL.TIPODOCUMENTO</translate></th> | 100 | <th style="width: 20%;" class="text-center"><translate>ECM.LABEL.TIPODOCUMENTO</translate></th> |
| 105 | - <th class="text-center"><translate>ECM.LABEL.NIVEL_PROPOSTO</translate></th> | 101 | + <th style="width: 46%" class="text-center"><translate>ECM.LABEL.NIVEL_PROPOSTO</translate></th> |
| 106 | <th class="text-center"><translate>ECM.LABEL.NIVEL_REVISADO</translate></th> | 102 | <th class="text-center"><translate>ECM.LABEL.NIVEL_REVISADO</translate></th> |
| 107 | 103 | ||
| 108 | </tr> | 104 | </tr> |
| @@ -114,13 +110,13 @@ | @@ -114,13 +110,13 @@ | ||
| 114 | <td> | 110 | <td> |
| 115 | <div class="row"> | 111 | <div class="row"> |
| 116 | <div class="col-md-6"> | 112 | <div class="col-md-6"> |
| 117 | - <label-select ng-id="documentoValidacao.nivelAcesso" ng-model="documentoValidacao.nivelAcesso" form="classificarDocumentoProcessoForm" | 113 | + <label-select ng-id="documentoValidacao.nivelAcesso" ng-model="documentoValidacao.nivelAcesso" form="classificarDocumentoProcessoForm" ng-obrigatorio="true" |
| 118 | ng-custom-options="nivelAcessoTipoDocumento as nivelAcessoTipoDocumento.nivelAcesso.descricao for nivelAcessoTipoDocumento" | 114 | ng-custom-options="nivelAcessoTipoDocumento as nivelAcessoTipoDocumento.nivelAcesso.descricao for nivelAcessoTipoDocumento" |
| 119 | track-by="track by nivelAcessoTipoDocumento.id" ng-list="documentoValidacao.nivelAcessoList" ng-custom-change="limparSigilo(documentoValidacao)"/> | 115 | track-by="track by nivelAcessoTipoDocumento.id" ng-list="documentoValidacao.nivelAcessoList" ng-custom-change="limparSigilo(documentoValidacao)"/> |
| 120 | </div> | 116 | </div> |
| 121 | <div class="col-md-6" ng-show='documentoValidacao.nivelAcesso.nivelAcesso.codigo == 0'> | 117 | <div class="col-md-6" ng-show='documentoValidacao.nivelAcesso.nivelAcesso.codigo == 0'> |
| 122 | - <label-select ng-id="documentoValidacao.sigilo" ng-model="documentoValidacao.sigilo" form="classificarDocumentoProcessoForm" | ||
| 123 | - ng-custom-options="sigiloTipoDocumento.sigilo as sigiloTipoDocumento.tipoSigiloDescricao for sigiloTipoDocumento" track-by="track by sigiloTipoDocumento.sigilo.id" ng-list="documentoValidacao.nivelAcesso.sigilos" /> | 118 | + <label-select ng-id="documentoValidacao.sigilo" ng-model="documentoValidacao.sigilo" form="classificarDocumentoProcessoForm" ng-obrigatorio="documentoValidacao.nivelAcesso.nivelAcesso.codigo == 0" |
| 119 | + ng-custom-options="sigiloTipoDocumento.sigilo as sigiloTipoDocumento.sigilo.tipoSigilo.descricao for sigiloTipoDocumento" ng-list="documentoValidacao.nivelAcesso.sigilos"/> | ||
| 124 | 120 | ||
| 125 | </div> | 121 | </div> |
| 126 | </div> | 122 | </div> |