Commit 452a829f8093eb0218ac802503afbdf77095b772
1 parent
dc81a567
Exists in
master
tarefa redmine 3216
Showing
11 changed files
with
191 additions
and
63 deletions
Show diff stats
cit-ecm-api/src/main/java/br/com/centralit/api/dao/impl/DocumentoGedDaoHibernate.java
@@ -7,15 +7,17 @@ import org.hibernate.Criteria; | @@ -7,15 +7,17 @@ import org.hibernate.Criteria; | ||
7 | import org.hibernate.Session; | 7 | import org.hibernate.Session; |
8 | import org.hibernate.criterion.Projections; | 8 | import org.hibernate.criterion.Projections; |
9 | import org.hibernate.criterion.Restrictions; | 9 | import org.hibernate.criterion.Restrictions; |
10 | +import org.springframework.security.core.context.SecurityContextHolder; | ||
10 | import org.springframework.stereotype.Repository; | 11 | import org.springframework.stereotype.Repository; |
11 | 12 | ||
12 | import br.com.centralit.api.dao.DocumentoGedDao; | 13 | import br.com.centralit.api.dao.DocumentoGedDao; |
13 | import br.com.centralit.api.model.DocumentoGed; | 14 | import br.com.centralit.api.model.DocumentoGed; |
15 | +import br.com.centralit.api.model.SigiloPrivilegio; | ||
14 | import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl; | 16 | import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl; |
15 | import br.com.centralit.framework.dao.arquitetura.SearchSeven; | 17 | import br.com.centralit.framework.dao.arquitetura.SearchSeven; |
18 | +import br.com.centralit.framework.model.Usuario; | ||
16 | 19 | ||
17 | import com.googlecode.genericdao.search.Filter; | 20 | import com.googlecode.genericdao.search.Filter; |
18 | -import com.googlecode.genericdao.search.Search; | ||
19 | import com.googlecode.genericdao.search.Sort; | 21 | import com.googlecode.genericdao.search.Sort; |
20 | 22 | ||
21 | @Repository("documentoGedDao") | 23 | @Repository("documentoGedDao") |
@@ -49,16 +51,6 @@ public class DocumentoGedDaoHibernate extends CitGenericDAOImpl implements Docum | @@ -49,16 +51,6 @@ public class DocumentoGedDaoHibernate extends CitGenericDAOImpl implements Docum | ||
49 | } | 51 | } |
50 | 52 | ||
51 | @Override | 53 | @Override |
52 | - public Collection<DocumentoGed> findByProcessoSigilo(Long idProcesso) { | ||
53 | - | ||
54 | - Search searchSeven = new Search(); | ||
55 | - | ||
56 | - searchSeven.addFilterEqual("processo.id", idProcesso); | ||
57 | - searchSeven.addFilterNotEmpty("processo.sigilo"); | ||
58 | - return this.search(searchSeven); | ||
59 | - } | ||
60 | - | ||
61 | - @Override | ||
62 | public Collection<DocumentoGed> findByIdDocumentoTodasVersoes(Long id) { | 54 | public Collection<DocumentoGed> findByIdDocumentoTodasVersoes(Long id) { |
63 | 55 | ||
64 | SearchSeven searchSeven = new SearchSeven(); | 56 | SearchSeven searchSeven = new SearchSeven(); |
@@ -193,4 +185,35 @@ public class DocumentoGedDaoHibernate extends CitGenericDAOImpl implements Docum | @@ -193,4 +185,35 @@ public class DocumentoGedDaoHibernate extends CitGenericDAOImpl implements Docum | ||
193 | return (Long) criteria.uniqueResult() > 0; | 185 | return (Long) criteria.uniqueResult() > 0; |
194 | 186 | ||
195 | } | 187 | } |
188 | + | ||
189 | + @SuppressWarnings("unchecked") | ||
190 | + @Override | ||
191 | + public Collection<DocumentoGed> findByProcessoSigilo(Long idProcesso) { | ||
192 | + | ||
193 | + Long idUsuario = ( (Usuario) SecurityContextHolder.getContext().getAuthentication().getPrincipal() ).getId(); | ||
194 | + | ||
195 | + Criteria criteriaPrivilegio = this.newCriteria(SigiloPrivilegio.class); | ||
196 | + | ||
197 | + criteriaPrivilegio.setProjection(Projections.property("sigilo.id")); | ||
198 | + | ||
199 | + criteriaPrivilegio.createAlias("privilegio", "privilegio"); | ||
200 | + | ||
201 | + criteriaPrivilegio.createAlias("privilegio.grupoPrivilegios", "grupoPrivilegio"); | ||
202 | + | ||
203 | + criteriaPrivilegio.add(Restrictions.isNull("grupoPrivilegio.dataInativo")); | ||
204 | + | ||
205 | + criteriaPrivilegio.createCriteria("grupoPrivilegio.grupo").createAlias("grupoUsuarios", "grupoUsuario"); | ||
206 | + | ||
207 | + criteriaPrivilegio.add(Restrictions.eq("grupoUsuario.usuario.id", idUsuario)); | ||
208 | + | ||
209 | + Session session = (Session) this.em().getDelegate(); | ||
210 | + | ||
211 | + Criteria criteria = session.createCriteria(persistentClass); | ||
212 | + | ||
213 | + criteria.add(Restrictions.eq("processo.id", idProcesso)); | ||
214 | + criteria.add(Restrictions.in("sigilo.id", criteriaPrivilegio.list())); | ||
215 | + | ||
216 | + return criteria.list(); | ||
217 | + } | ||
218 | + | ||
196 | } | 219 | } |
cit-ecm-api/src/main/java/br/com/centralit/api/dao/impl/ProcessoDaoHibernate.java
@@ -7,12 +7,19 @@ import org.hibernate.Criteria; | @@ -7,12 +7,19 @@ import org.hibernate.Criteria; | ||
7 | import org.hibernate.Session; | 7 | import org.hibernate.Session; |
8 | import org.hibernate.criterion.Projections; | 8 | import org.hibernate.criterion.Projections; |
9 | import org.hibernate.criterion.Restrictions; | 9 | import org.hibernate.criterion.Restrictions; |
10 | +import org.springframework.security.core.context.SecurityContextHolder; | ||
10 | import org.springframework.stereotype.Repository; | 11 | import org.springframework.stereotype.Repository; |
11 | 12 | ||
12 | import br.com.centralit.api.dao.ProcessoDao; | 13 | import br.com.centralit.api.dao.ProcessoDao; |
13 | import br.com.centralit.api.model.Processo; | 14 | import br.com.centralit.api.model.Processo; |
15 | +import br.com.centralit.api.model.SigiloPrivilegio; | ||
14 | import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl; | 16 | import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl; |
15 | import br.com.centralit.framework.dao.arquitetura.SearchSeven; | 17 | import br.com.centralit.framework.dao.arquitetura.SearchSeven; |
18 | +import br.com.centralit.framework.model.Usuario; | ||
19 | + | ||
20 | +import com.googlecode.genericdao.search.Filter; | ||
21 | +import com.googlecode.genericdao.search.ISearch; | ||
22 | +import com.googlecode.genericdao.search.SearchResult; | ||
16 | 23 | ||
17 | /** | 24 | /** |
18 | * <p> | 25 | * <p> |
@@ -169,4 +176,32 @@ public class ProcessoDaoHibernate extends CitGenericDAOImpl implements ProcessoD | @@ -169,4 +176,32 @@ public class ProcessoDaoHibernate extends CitGenericDAOImpl implements ProcessoD | ||
169 | return searchUnique(search); | 176 | return searchUnique(search); |
170 | } | 177 | } |
171 | 178 | ||
179 | + @Override | ||
180 | + public <RT> SearchResult<RT> searchAndCount(ISearch search) { | ||
181 | + | ||
182 | + Long idUsuario = ((Usuario) SecurityContextHolder.getContext().getAuthentication().getPrincipal()).getId(); | ||
183 | + | ||
184 | + Criteria criteriaPrivilegio = this.newCriteria(SigiloPrivilegio.class); | ||
185 | + | ||
186 | + criteriaPrivilegio.setProjection(Projections.property("sigilo.id")); | ||
187 | + | ||
188 | + criteriaPrivilegio.createAlias("privilegio", "privilegio"); | ||
189 | + | ||
190 | + criteriaPrivilegio.createAlias("privilegio.grupoPrivilegios", "grupoPrivilegio"); | ||
191 | + | ||
192 | + criteriaPrivilegio.add(Restrictions.isNull("grupoPrivilegio.dataInativo")); | ||
193 | + | ||
194 | + criteriaPrivilegio.createCriteria("grupoPrivilegio.grupo").createAlias("grupoUsuarios", "grupoUsuario"); | ||
195 | + | ||
196 | + criteriaPrivilegio.add(Restrictions.eq("grupoUsuario.usuario.id", idUsuario)); | ||
197 | + | ||
198 | + | ||
199 | + search.getFilters().add(Filter.in("sigilo.id", criteriaPrivilegio.list())); | ||
200 | + | ||
201 | + | ||
202 | + | ||
203 | + | ||
204 | + return super.searchAndCount(search); | ||
205 | + } | ||
206 | + | ||
172 | } | 207 | } |
cit-ecm-api/src/main/java/br/com/centralit/api/framework/json/ViewsEcm.java
@@ -98,5 +98,7 @@ public class ViewsEcm extends Views { | @@ -98,5 +98,7 @@ public class ViewsEcm extends Views { | ||
98 | 98 | ||
99 | public static class TipoDocumentoPlanoClassificacaoAutoCompleteView extends Views.GenericView{}; | 99 | public static class TipoDocumentoPlanoClassificacaoAutoCompleteView extends Views.GenericView{}; |
100 | 100 | ||
101 | + public static class ClassificacaoDocumentoGedView extends Views.GenericView{}; | ||
102 | + | ||
101 | 103 | ||
102 | } | 104 | } |
cit-ecm-api/src/main/java/br/com/centralit/api/model/DocumentoGed.java
@@ -79,11 +79,11 @@ public class DocumentoGed extends PersistentObjectUnidade implements Cloneable { | @@ -79,11 +79,11 @@ public class DocumentoGed extends PersistentObjectUnidade implements Cloneable { | ||
79 | private Long id; | 79 | private Long id; |
80 | 80 | ||
81 | /** Atributo assuntoComplementar. */ | 81 | /** Atributo assuntoComplementar. */ |
82 | - @JsonView({ ViewsEcm.DocumentoGedEdit.class, Views.ProcessoEdit.class }) | 82 | + @JsonView({ ViewsEcm.DocumentoGedEdit.class, Views.ProcessoEdit.class, ViewsEcm.ClassificacaoDocumentoGedView.class }) |
83 | private String assuntoComplementar; | 83 | private String assuntoComplementar; |
84 | 84 | ||
85 | /** Atributo numero. */ | 85 | /** Atributo numero. */ |
86 | - @JsonView({ ViewsEcm.DocumentoGedEdit.class, Views.ProcessoEdit.class }) | 86 | + @JsonView({ ViewsEcm.DocumentoGedEdit.class, Views.ProcessoEdit.class, ViewsEcm.ClassificacaoDocumentoGedView.class }) |
87 | private String numero; | 87 | private String numero; |
88 | 88 | ||
89 | /** Atributo idRaiz. */ | 89 | /** Atributo idRaiz. */ |
@@ -121,7 +121,7 @@ public class DocumentoGed extends PersistentObjectUnidade implements Cloneable { | @@ -121,7 +121,7 @@ public class DocumentoGed extends PersistentObjectUnidade implements Cloneable { | ||
121 | private byte[] conteudoCriptografado; | 121 | private byte[] conteudoCriptografado; |
122 | 122 | ||
123 | /** Atributo icon. */ | 123 | /** Atributo icon. */ |
124 | - @JsonView({ ViewsEcm.DocumentoGedEdit.class, Views.ProcessoEdit.class }) | 124 | + @JsonView({ ViewsEcm.DocumentoGedEdit.class, Views.ProcessoEdit.class, ViewsEcm.ClassificacaoDocumentoGedView.class }) |
125 | private String icon; | 125 | private String icon; |
126 | 126 | ||
127 | @Temporal(TemporalType.TIMESTAMP) | 127 | @Temporal(TemporalType.TIMESTAMP) |
@@ -167,20 +167,20 @@ public class DocumentoGed extends PersistentObjectUnidade implements Cloneable { | @@ -167,20 +167,20 @@ public class DocumentoGed extends PersistentObjectUnidade implements Cloneable { | ||
167 | 167 | ||
168 | /** Atributo nivelAcesso. */ | 168 | /** Atributo nivelAcesso. */ |
169 | @ManyToOne(fetch = FetchType.EAGER) | 169 | @ManyToOne(fetch = FetchType.EAGER) |
170 | - @JsonView({ ViewsEcm.DocumentoGedEdit.class, Views.ProcessoEdit.class }) | 170 | + @JsonView({ ViewsEcm.DocumentoGedEdit.class, Views.ProcessoEdit.class, ViewsEcm.ClassificacaoDocumentoGedView.class}) |
171 | private NivelAcessoTipoDocumento nivelAcesso; | 171 | private NivelAcessoTipoDocumento nivelAcesso; |
172 | 172 | ||
173 | @ManyToOne(fetch = FetchType.EAGER) | 173 | @ManyToOne(fetch = FetchType.EAGER) |
174 | - @JsonView({ ViewsEcm.DocumentoGedEdit.class, Views.ProcessoEdit.class }) | 174 | + @JsonView({ ViewsEcm.DocumentoGedEdit.class, Views.ProcessoEdit.class , ViewsEcm.ClassificacaoDocumentoGedView.class}) |
175 | private NivelAcessoTipoDocumento nivelAcessoOriginal; | 175 | private NivelAcessoTipoDocumento nivelAcessoOriginal; |
176 | 176 | ||
177 | /** Atributo sigilo. */ | 177 | /** Atributo sigilo. */ |
178 | @ManyToOne(fetch = FetchType.LAZY) | 178 | @ManyToOne(fetch = FetchType.LAZY) |
179 | - @JsonView({ ViewsEcm.DocumentoGedEdit.class, Views.ProcessoEdit.class }) | 179 | + @JsonView({ ViewsEcm.DocumentoGedEdit.class, Views.ProcessoEdit.class , ViewsEcm.ClassificacaoDocumentoGedView.class}) |
180 | private Sigilo sigilo; | 180 | private Sigilo sigilo; |
181 | 181 | ||
182 | @ManyToOne(fetch = FetchType.LAZY) | 182 | @ManyToOne(fetch = FetchType.LAZY) |
183 | - @JsonView({ ViewsEcm.DocumentoGedEdit.class, Views.ProcessoEdit.class }) | 183 | + @JsonView({ ViewsEcm.DocumentoGedEdit.class, Views.ProcessoEdit.class , ViewsEcm.ClassificacaoDocumentoGedView.class}) |
184 | private Sigilo sigiloOriginal; | 184 | private Sigilo sigiloOriginal; |
185 | 185 | ||
186 | /** Atributo planoClassificacao. */ | 186 | /** Atributo planoClassificacao. */ |
@@ -205,7 +205,7 @@ public class DocumentoGed extends PersistentObjectUnidade implements Cloneable { | @@ -205,7 +205,7 @@ public class DocumentoGed extends PersistentObjectUnidade implements Cloneable { | ||
205 | 205 | ||
206 | /** Atributo anexo. */ | 206 | /** Atributo anexo. */ |
207 | @OneToOne(mappedBy = "documentoGed", fetch = FetchType.EAGER) | 207 | @OneToOne(mappedBy = "documentoGed", fetch = FetchType.EAGER) |
208 | - @JsonView({ ViewsEcm.DocumentoGedEdit.class, Views.ProcessoEdit.class }) | 208 | + @JsonView({ ViewsEcm.DocumentoGedEdit.class, Views.ProcessoEdit.class ,ViewsEcm.ClassificacaoDocumentoGedView.class}) |
209 | private AnexoGed anexo; | 209 | private AnexoGed anexo; |
210 | 210 | ||
211 | /** Atributo versaoAnterior. */ | 211 | /** Atributo versaoAnterior. */ |
@@ -228,7 +228,7 @@ public class DocumentoGed extends PersistentObjectUnidade implements Cloneable { | @@ -228,7 +228,7 @@ public class DocumentoGed extends PersistentObjectUnidade implements Cloneable { | ||
228 | private Calendar prazoSigilo; | 228 | private Calendar prazoSigilo; |
229 | 229 | ||
230 | /** Atributo aprovado. */ | 230 | /** Atributo aprovado. */ |
231 | - @JsonView({ ViewsEcm.DocumentoGedList.class }) | 231 | + @JsonView({ ViewsEcm.DocumentoGedEdit.class }) |
232 | private Boolean aprovado; | 232 | private Boolean aprovado; |
233 | 233 | ||
234 | 234 |
cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/DocumentoGedServiceImpl.java
@@ -177,7 +177,7 @@ public class DocumentoGedServiceImpl extends GenericServiceImpl<DocumentoGed, Lo | @@ -177,7 +177,7 @@ public class DocumentoGedServiceImpl extends GenericServiceImpl<DocumentoGed, Lo | ||
177 | } | 177 | } |
178 | 178 | ||
179 | 179 | ||
180 | - this.saveSolr(entity); | 180 | +// this.saveSolr(entity); |
181 | 181 | ||
182 | 182 | ||
183 | this.verificaTemporalidadeProcesso(entity); | 183 | this.verificaTemporalidadeProcesso(entity); |
@@ -778,15 +778,15 @@ public class DocumentoGedServiceImpl extends GenericServiceImpl<DocumentoGed, Lo | @@ -778,15 +778,15 @@ public class DocumentoGedServiceImpl extends GenericServiceImpl<DocumentoGed, Lo | ||
778 | if (!UtilColecao.isVazio(listaDocumentos)) { | 778 | if (!UtilColecao.isVazio(listaDocumentos)) { |
779 | for (DocumentoGed documento : listaDocumentos) { | 779 | for (DocumentoGed documento : listaDocumentos) { |
780 | DocumentoGed entity = (DocumentoGed) this.documentoGedDao.getReference(documento.getId()); | 780 | DocumentoGed entity = (DocumentoGed) this.documentoGedDao.getReference(documento.getId()); |
781 | - if (documento.getNivelAcesso() == null) { | 781 | + if (documento.getSigilo() == null) { |
782 | entity.setAprovado(Boolean.TRUE); | 782 | entity.setAprovado(Boolean.TRUE); |
783 | + }else{ | ||
784 | + entity.setSigiloOriginal(documento.getSigilo()); | ||
785 | + entity.setNivelAcessoOriginal(documento.getNivelAcesso()); | ||
786 | + entity.setSigilo(documento.getSigilo()); | ||
787 | + entity.setNivelAcesso(documento.getNivelAcesso()); | ||
783 | } | 788 | } |
784 | - | ||
785 | 789 | ||
786 | - entity.setSigiloOriginal(documento.getSigilo()); | ||
787 | - entity.setNivelAcessoOriginal(documento.getNivelAcesso()); | ||
788 | - entity.setSigilo(documento.getSigilo()); | ||
789 | - entity.setNivelAcesso(documento.getNivelAcesso()); | ||
790 | super.merge(entity); | 790 | super.merge(entity); |
791 | } | 791 | } |
792 | 792 |
cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/ProcessoServiceImpl.java
@@ -160,7 +160,7 @@ public class ProcessoServiceImpl extends GenericServiceImpl<Processo, Long> impl | @@ -160,7 +160,7 @@ public class ProcessoServiceImpl extends GenericServiceImpl<Processo, Long> impl | ||
160 | 160 | ||
161 | try { | 161 | try { |
162 | 162 | ||
163 | - this.solrService.addProcesso(processo); | 163 | +// this.solrService.addProcesso(processo); |
164 | } catch (final Exception e) { | 164 | } catch (final Exception e) { |
165 | 165 | ||
166 | e.printStackTrace(); | 166 | e.printStackTrace(); |
cit-ecm-web/src/main/java/br/com/centralit/listener/StartupListenerEcm.java
@@ -310,6 +310,7 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen | @@ -310,6 +310,7 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen | ||
310 | internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.FUNDAMENTACAO_LEGAL", "Fundamentação legal", dominio, modulo)); | 310 | internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.FUNDAMENTACAO_LEGAL", "Fundamentação legal", dominio, modulo)); |
311 | internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.NIVEL_ACESSO", "Nível Acesso", dominio, modulo)); | 311 | internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.NIVEL_ACESSO", "Nível Acesso", dominio, modulo)); |
312 | internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.NIVEL_SIGILO", "Nível de sigilo", dominio, modulo)); | 312 | internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.NIVEL_SIGILO", "Nível de sigilo", dominio, modulo)); |
313 | + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.NIVEL_SIGILO_ORIGINAL", "Nível de sigilo original", dominio, modulo)); | ||
313 | internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.PLANO_CLASSIFICACAO_SUPERIOR", "Elemento superior", dominio, modulo)); | 314 | internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.PLANO_CLASSIFICACAO_SUPERIOR", "Elemento superior", dominio, modulo)); |
314 | internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.SUGESTOES_ASSUNTO", "Sugestões de assunto", dominio, modulo)); | 315 | internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.SUGESTOES_ASSUNTO", "Sugestões de assunto", dominio, modulo)); |
315 | internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.TIPODOCUMENTO", "Tipo Documento", dominio, modulo)); | 316 | internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.TIPODOCUMENTO", "Tipo Documento", dominio, modulo)); |
cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/ClassificarDocumentoProcessoController.js
@@ -13,6 +13,8 @@ citApp.controller('ClassificarDocumentoProcessoController', ['$scope', 'Processo | @@ -13,6 +13,8 @@ citApp.controller('ClassificarDocumentoProcessoController', ['$scope', 'Processo | ||
13 | $scope.idPainelItem = 0; | 13 | $scope.idPainelItem = 0; |
14 | 14 | ||
15 | $scope.tabAtual = 0; | 15 | $scope.tabAtual = 0; |
16 | + | ||
17 | + $scope.aprovado = null; | ||
16 | 18 | ||
17 | $scope.tabs = [ {active: true} | 19 | $scope.tabs = [ {active: true} |
18 | ,{active: false} | 20 | ,{active: false} |
@@ -98,22 +100,42 @@ citApp.controller('ClassificarDocumentoProcessoController', ['$scope', 'Processo | @@ -98,22 +100,42 @@ citApp.controller('ClassificarDocumentoProcessoController', ['$scope', 'Processo | ||
98 | }); | 100 | }); |
99 | }; | 101 | }; |
100 | 102 | ||
101 | - | 103 | + $scope.removerAtributos = function(){ |
104 | + angular.forEach($scope.processo.documentos, function (item) { | ||
105 | + delete item.autorUserName; | ||
106 | + delete item.unidadeNome; | ||
107 | + delete item.documentoVersao; | ||
108 | + delete item.originalElement; | ||
109 | + angular.forEach(item.nivelAcesso.sigilos, function (item) { | ||
110 | + delete item.tipoSigiloDescricao; | ||
111 | + }); | ||
112 | + | ||
113 | + angular.forEach(item.nivelAcessoOriginal.sigilos, function (item) { | ||
114 | + delete item.tipoSigiloDescricao; | ||
115 | + }); | ||
116 | + | ||
117 | + }); | ||
118 | + | ||
119 | + }; | ||
102 | // SALVA O Processo | 120 | // SALVA O Processo |
103 | $scope.saveOrUpdate = function(){ | 121 | $scope.saveOrUpdate = function(){ |
104 | 122 | ||
105 | $scope.classificarDocumentoProcessoForm.$submitted = true; | 123 | $scope.classificarDocumentoProcessoForm.$submitted = true; |
106 | - | ||
107 | //verifica se o formulario está valido para salvar | 124 | //verifica se o formulario está valido para salvar |
108 | if($scope.classificarDocumentoProcessoForm.$valid){ | 125 | if($scope.classificarDocumentoProcessoForm.$valid){ |
109 | 126 | ||
110 | $scope.setLoadingSalva(true); | 127 | $scope.setLoadingSalva(true); |
111 | - | ||
112 | - | 128 | + |
129 | + $scope.removerAtributos(); | ||
130 | + | ||
131 | + $scope.processo.aprovado = $scope.aprovado; | ||
113 | ProcessoRepository.atualizarSigiloProcesso($scope.processo).then(function(result) { | 132 | ProcessoRepository.atualizarSigiloProcesso($scope.processo).then(function(result) { |
114 | $scope.showAlert("success", $translate.instant('MSG.REGISTRO_SALVO')); | 133 | $scope.showAlert("success", $translate.instant('MSG.REGISTRO_SALVO')); |
134 | + $scope.historicoAlteracao(result.originalElement); | ||
115 | ProcessoRepository.get($scope.processo.id).then(function(result){ | 135 | ProcessoRepository.get($scope.processo.id).then(function(result){ |
116 | - $scope.processo = result; | 136 | + $scope.processo = result.originalElement; |
137 | + $scope.aprovado = result.originalElement.aprovado; | ||
138 | + $scope.carregarListaDocumentos($scope.processo.id); | ||
117 | }); | 139 | }); |
118 | $scope.classificarDocumentoProcessoForm.$submitted = false; | 140 | $scope.classificarDocumentoProcessoForm.$submitted = false; |
119 | $scope.atualizaProcesso(); | 141 | $scope.atualizaProcesso(); |
@@ -140,19 +162,10 @@ citApp.controller('ClassificarDocumentoProcessoController', ['$scope', 'Processo | @@ -140,19 +162,10 @@ citApp.controller('ClassificarDocumentoProcessoController', ['$scope', 'Processo | ||
140 | HistoricoAlteracaoProcessoRepository.saveParams(historicoAlteracaoProcesso).then(function(result){ }); | 162 | HistoricoAlteracaoProcessoRepository.saveParams(historicoAlteracaoProcesso).then(function(result){ }); |
141 | }; | 163 | }; |
142 | 164 | ||
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 | - | 165 | + //Fechar widget |
166 | + $scope.closeWidget = function() { | ||
167 | + angular.element("#searchGerenciarProcesso").scope().closeWidget(); | ||
168 | + }; | ||
156 | 169 | ||
157 | $scope.initializeNivelAcessoDocumento = function(){ | 170 | $scope.initializeNivelAcessoDocumento = function(){ |
158 | $scope.nivelAcessoTipoDocumentoList = []; | 171 | $scope.nivelAcessoTipoDocumentoList = []; |
@@ -168,13 +181,35 @@ citApp.controller('ClassificarDocumentoProcessoController', ['$scope', 'Processo | @@ -168,13 +181,35 @@ citApp.controller('ClassificarDocumentoProcessoController', ['$scope', 'Processo | ||
168 | $scope.sigilos = result; | 181 | $scope.sigilos = result; |
169 | }); | 182 | }); |
170 | }; | 183 | }; |
184 | + | ||
185 | + $scope.iniciar = function(processo){ | ||
186 | + | ||
187 | + ProcessoRepository.get(processo.id).then(function(result) { | ||
188 | + $scope.processo = result.originalElement; | ||
189 | + $scope.aprovado = result.originalElement.aprovado; | ||
190 | + $scope.carregarListaDocumentos(processo.id); | ||
191 | + }); | ||
192 | + | ||
193 | + $scope.findNivelPorIdProcesso(processo.tipoProcesso.id); | ||
194 | + | ||
195 | + }; | ||
196 | + | ||
197 | + $scope.carregarListaDocumentos = function(idProcesso){ | ||
198 | + $scope.processo.documentos = []; | ||
199 | + DocumentoGedRepository.findByProcessoSigilo(idProcesso).then(function(result) { | ||
200 | + angular.forEach(result, function(item) { | ||
201 | + | ||
202 | + var documento = item.originalElement; | ||
203 | + $scope.processo.documentos.push(documento); | ||
204 | + | ||
205 | + }); | ||
206 | + }); | ||
207 | + } ; | ||
171 | 208 | ||
172 | 209 | ||
173 | - $scope.constroiRelacionamentoTipoProcesso = function(tipoProcesso){ | 210 | + $scope.findNivelPorIdProcesso = function(idTipoProcesso){ |
174 | 211 | ||
175 | - $scope.nivelAcessoList = []; | ||
176 | - | ||
177 | - NivelAcessoTipoProcessoRepository.findPorIdTipoProcesso(tipoProcesso.id).then(function(result) { | 212 | + NivelAcessoTipoProcessoRepository.findPorIdTipoProcesso(idTipoProcesso).then(function(result) { |
178 | $scope.nivelAcessoList = result; | 213 | $scope.nivelAcessoList = result; |
179 | }); | 214 | }); |
180 | }; | 215 | }; |
@@ -186,6 +221,7 @@ citApp.controller('ClassificarDocumentoProcessoController', ['$scope', 'Processo | @@ -186,6 +221,7 @@ citApp.controller('ClassificarDocumentoProcessoController', ['$scope', 'Processo | ||
186 | 221 | ||
187 | ProcessoRepository.get(processo.id).then(function(result) { | 222 | ProcessoRepository.get(processo.id).then(function(result) { |
188 | $scope.processo = result.originalElement; | 223 | $scope.processo = result.originalElement; |
224 | + $scope.aprovado = result.originalElement.aprovado; | ||
189 | $scope.setLoading(false); | 225 | $scope.setLoading(false); |
190 | $scope.constroiRelacionamentoTipoProcesso($scope.processo.tipoProcesso); | 226 | $scope.constroiRelacionamentoTipoProcesso($scope.processo.tipoProcesso); |
191 | 227 |
cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/GerenciarProcessoController.js
@@ -598,12 +598,27 @@ citApp.controller('GerenciarProcessoController', [ '$scope', '$translate', '$tim | @@ -598,12 +598,27 @@ citApp.controller('GerenciarProcessoController', [ '$scope', '$translate', '$tim | ||
598 | $scope.getProcesso = function ( processo ) { | 598 | $scope.getProcesso = function ( processo ) { |
599 | 599 | ||
600 | $scope.setLoadingGet( true ); | 600 | $scope.setLoadingGet( true ); |
601 | - | ||
602 | - $scope.isHistoricoProcesso = true; | ||
603 | - | ||
604 | - $scope.processo = processo; | ||
605 | - $scope.idProcesso = $scope.processo.id; | ||
606 | - | 601 | + |
602 | + ProcessoRepository.get(processo.id).then(function(result) { | ||
603 | + $scope.processo = result.originalElement; | ||
604 | + | ||
605 | + | ||
606 | + DocumentoGedRepository.findByProcessoSigilo(processo.id).then(function(result) { | ||
607 | + $scope.processo.documentos = result; | ||
608 | + }); | ||
609 | + | ||
610 | + $scope.setLoading(false); | ||
611 | + }); | ||
612 | + | ||
613 | + $timeout( function () { | ||
614 | + angular.element( "#classificarDocumento" ).scope().iniciar(processo); | ||
615 | + } ); | ||
616 | + | ||
617 | + | ||
618 | + $scope.isHistoricoProcesso = false; | ||
619 | + $scope.isClassificarProcessoDocumento = true; | ||
620 | + $scope.apresentarCabecalho = true; | ||
621 | + $scope.idProcesso = processo.id; | ||
607 | $scope.setLoading( false ); | 622 | $scope.setLoading( false ); |
608 | 623 | ||
609 | }; | 624 | }; |
cit-ecm-web/src/main/webapp/html/classificarProcessoDocumento/classificarProcessoDocumento.html
@@ -39,7 +39,7 @@ | @@ -39,7 +39,7 @@ | ||
39 | </div> | 39 | </div> |
40 | 40 | ||
41 | <div class="col-md-6"> | 41 | <div class="col-md-6"> |
42 | - <span class="text-bold" ><translate>ECM.LABEL.NIVEL_SIGILO</translate></span> | 42 | + <span class="text-bold" ><translate>ECM.LABEL.NIVEL_SIGILO_ORIGINAL</translate></span> |
43 | <span>{{processo.sigiloOriginal.tipoSigilo.descricao}}</span> | 43 | <span>{{processo.sigiloOriginal.tipoSigilo.descricao}}</span> |
44 | </div> | 44 | </div> |
45 | 45 | ||
@@ -48,8 +48,23 @@ | @@ -48,8 +48,23 @@ | ||
48 | <!-- </div> --> | 48 | <!-- </div> --> |
49 | 49 | ||
50 | <br></br> | 50 | <br></br> |
51 | + | ||
52 | + <div ng-show='processo.aprovado'> | ||
53 | + <div class="row"> | ||
54 | + <div class="col-md-6"> | ||
55 | + <span class="text-bold"><translate>ECM.LABEL.NIVEL_ACESSO</translate></span> | ||
56 | + <span>{{processo.nivelAcesso.nivelAcesso.descricao}}</span> | ||
57 | + </div> | ||
58 | + | ||
59 | + <div class="col-md-6"> | ||
60 | + <span class="text-bold" ><translate>ECM.LABEL.NIVEL_SIGILO</translate></span> | ||
61 | + <span>{{processo.sigilo.tipoSigilo.descricao}}</span> | ||
62 | + </div> | ||
63 | + | ||
64 | + </div> | ||
65 | + </div> | ||
51 | 66 | ||
52 | - <div class="row" ng-show='processo.tipoProcesso.id'> | 67 | + <div class="row" ng-show='!processo.aprovado'> |
53 | <div class="col-md-6"> | 68 | <div class="col-md-6"> |
54 | <label-select ng-id="processo.nivelAcesso" ng-label="ECM.LABEL.NIVEL_ACESSO" ng-model="processo.nivelAcesso" | 69 | <label-select ng-id="processo.nivelAcesso" ng-label="ECM.LABEL.NIVEL_ACESSO" ng-model="processo.nivelAcesso" |
55 | form="classificarDocumentoclassificarDocumentoProcessoForm" ng-obrigatorio="true" | 70 | form="classificarDocumentoclassificarDocumentoProcessoForm" ng-obrigatorio="true" |
@@ -74,9 +89,9 @@ | @@ -74,9 +89,9 @@ | ||
74 | </div> | 89 | </div> |
75 | </div> | 90 | </div> |
76 | 91 | ||
77 | - <div class="col-md-6"> | ||
78 | - <label-input-checkbox ng-model="processo.aprovado" ng-label="ECM.LABEL.APROVAR"></label-input-checkbox> | ||
79 | - </div> | 92 | + <div class="col-md-6"> |
93 | + <label-input-checkbox ng-model="aprovado" ng-label="ECM.LABEL.APROVAR"></label-input-checkbox> | ||
94 | + </div> | ||
80 | 95 | ||
81 | </div> | 96 | </div> |
82 | </fieldset> | 97 | </fieldset> |
@@ -109,7 +124,8 @@ | @@ -109,7 +124,8 @@ | ||
109 | <tr ng-repeat="documento in processo.documentos"> | 124 | <tr ng-repeat="documento in processo.documentos"> |
110 | <td class="text-center">{{processo.nup}}</td> | 125 | <td class="text-center">{{processo.nup}}</td> |
111 | <td class="text-center">{{processo.id}}</td> | 126 | <td class="text-center">{{processo.id}}</td> |
112 | - <td> | 127 | + <td class="text-center" ng-show="documento.aprovado">{{documento.nivelAcesso.nivelAcesso.descricao}}</td> |
128 | + <td ng-show="!documento.aprovado"> | ||
113 | <div class="row"> | 129 | <div class="row"> |
114 | <div class="col-md-6"> | 130 | <div class="col-md-6"> |
115 | <label-select ng-id="documento.nivelAcesso" ng-model="documento.nivelAcesso" form="classificarDocumentoProcessoForm" | 131 | <label-select ng-id="documento.nivelAcesso" ng-model="documento.nivelAcesso" form="classificarDocumentoProcessoForm" |
cit-ecm-web/src/main/webapp/html/gerenciarProcesso/includeCabecalhoGerenciarProcesso.jsp
@@ -65,7 +65,7 @@ | @@ -65,7 +65,7 @@ | ||
65 | <sec:authorize access="permiteRenunciar()"> | 65 | <sec:authorize access="permiteRenunciar()"> |
66 | <li><a href="javascript: return false;" ng-click='exibirDialogConfirmacaoRemoverCredencial()'><i class="fa fa-user-times">  </i> <translate>ECM.LABEL.RENUNCIAR_CREDENCIAL</translate> </a></li> | 66 | <li><a href="javascript: return false;" ng-click='exibirDialogConfirmacaoRemoverCredencial()'><i class="fa fa-user-times">  </i> <translate>ECM.LABEL.RENUNCIAR_CREDENCIAL</translate> </a></li> |
67 | </sec:authorize> | 67 | </sec:authorize> |
68 | -<!-- <li><a href="#void" ng-click='classificarDocumentoProceso();'><i class="fa fa fa-eye">  </i> <translate>ECM.LABEL.VALIDAR_NIVEL_ACESSO</translate> </a></li> --> | 68 | + <!-- <li><a href="#void" ng-click='classificarDocumentoProceso();'><i class="fa fa fa-eye">  </i> <translate>ECM.LABEL.VALIDAR_NIVEL_ACESSO</translate> </a></li> --> |
69 | 69 | ||
70 | </ul> | 70 | </ul> |
71 | </div> | 71 | </div> |