diff --git a/cit-ecm-api/src/main/java/br/com/centralit/api/dao/AnexarProcessoDao.java b/cit-ecm-api/src/main/java/br/com/centralit/api/dao/AnexarProcessoDao.java index 0c7cda7..22d062f 100644 --- a/cit-ecm-api/src/main/java/br/com/centralit/api/dao/AnexarProcessoDao.java +++ b/cit-ecm-api/src/main/java/br/com/centralit/api/dao/AnexarProcessoDao.java @@ -100,7 +100,7 @@ public interface AnexarProcessoDao extends CitGenericDAO { Collection findByIdAnexoProcesso(Long id); - AnexoProcesso verificarUnicidadeAnexoProcesso(Long idProcessoAnexado); + boolean isExisteAnexoProcesso(Long idProcessoAnexado); } diff --git a/cit-ecm-api/src/main/java/br/com/centralit/api/dao/impl/AnexarProcessoDaoHibernate.java b/cit-ecm-api/src/main/java/br/com/centralit/api/dao/impl/AnexarProcessoDaoHibernate.java index c5bc53d..1b56e23 100644 --- a/cit-ecm-api/src/main/java/br/com/centralit/api/dao/impl/AnexarProcessoDaoHibernate.java +++ b/cit-ecm-api/src/main/java/br/com/centralit/api/dao/impl/AnexarProcessoDaoHibernate.java @@ -11,6 +11,7 @@ import br.com.centralit.api.dao.AnexarProcessoDao; import br.com.centralit.api.model.AnexoProcesso; import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl; import br.com.centralit.framework.dao.arquitetura.SearchSeven; +import br.com.centralit.framework.util.UtilColecao; /** * @@ -103,15 +104,14 @@ public class AnexarProcessoDaoHibernate extends CitGenericDAOImpl implements Ane @Override - public AnexoProcesso verificarUnicidadeAnexoProcesso(Long idProcessoAnexado) { - - SearchSeven search = new SearchSeven(persistentClass); - - search.addFilterEqual("processoAnexado.id", idProcessoAnexado); - - search(search, AnexoProcesso.class); - - return searchUnique(search); + public boolean isExisteAnexoProcesso(Long idProcessoAnexado) { + + SearchSeven searchSeven = new SearchSeven(); + + searchSeven.addFilterEqual("processoAnexado.id", idProcessoAnexado); + + return !UtilColecao.isVazio(this.search(searchSeven)); + } } diff --git a/cit-ecm-api/src/main/java/br/com/centralit/api/model/Processo.java b/cit-ecm-api/src/main/java/br/com/centralit/api/model/Processo.java index 2389f71..0ff1e20 100644 --- a/cit-ecm-api/src/main/java/br/com/centralit/api/model/Processo.java +++ b/cit-ecm-api/src/main/java/br/com/centralit/api/model/Processo.java @@ -26,6 +26,7 @@ import br.com.centralit.framework.json.JsonCalendarSimpleDateDeserializer; import br.com.centralit.framework.json.JsonCalendarSimpleDateSerializer; import br.com.centralit.framework.json.Views; import br.com.centralit.framework.model.Dominio; +import br.com.centralit.framework.util.UtilColecao; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonView; @@ -217,6 +218,10 @@ public class Processo extends PersistentObjectUnidade { @OneToMany(fetch = FetchType.LAZY, mappedBy = "processo", cascade = CascadeType.ALL) private Collection credenciais; + /** Atributo unidadesProcesso. */ + @OneToMany(fetch = FetchType.LAZY, mappedBy = "processo", cascade = CascadeType.ALL) + private Collection unidadesProcesso; + /** * Retorna o valor do atributo id * @@ -822,4 +827,41 @@ public class Processo extends PersistentObjectUnidade { this.aprovado = aprovado; } + /** + * Retorna o valor do atributo unidadesProcesso + * + * @return Collection + */ + public Collection getUnidadesProcesso() { + + return unidadesProcesso; + } + + /** + * Define o valor do atributo unidadesProcesso. + * + * @param unidadesProcesso + */ + public void setUnidadesProcesso(Collection unidadesProcesso) { + + this.unidadesProcesso = unidadesProcesso; + } + + /** + *

Iniciativa(s): NUMERO_INICIATIVA

+ * + *

Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO

+ * + * Verifica se o processo foi tramitado. Levando em consideração a unidadeProcesso criada apartir da criação do processo. + * + * @author maycon.silva + * + * @return boolean + */ + /*@JsonView({ Views.ProcessoEdit.class })*/ + public boolean isTramitado() { + + return !UtilColecao.isVazio(this.getUnidadesProcesso()) && this.getUnidadesProcesso().size() > 1; + } + } diff --git a/cit-ecm-api/src/main/java/br/com/centralit/api/service/AnexoGedService.java b/cit-ecm-api/src/main/java/br/com/centralit/api/service/AnexoGedService.java index 2ee5a62..1586b9a 100644 --- a/cit-ecm-api/src/main/java/br/com/centralit/api/service/AnexoGedService.java +++ b/cit-ecm-api/src/main/java/br/com/centralit/api/service/AnexoGedService.java @@ -3,6 +3,7 @@ package br.com.centralit.api.service; import org.springframework.web.multipart.MultipartFile; import br.com.centralit.api.model.AnexoGed; + import br.com.centralit.framework.service.arquitetura.GenericService; /** @@ -55,7 +56,7 @@ public interface AnexoGedService extends GenericService { * @param file * @param idDocumento */ - void saveAnexo(MultipartFile file, Long idDocumento); + void saveAnexo(MultipartFile file, Long idDocumentoGed); /** *

diff --git a/cit-ecm-api/src/main/java/br/com/centralit/api/service/DocumentoGedService.java b/cit-ecm-api/src/main/java/br/com/centralit/api/service/DocumentoGedService.java index f0135a1..ad78d9f 100644 --- a/cit-ecm-api/src/main/java/br/com/centralit/api/service/DocumentoGedService.java +++ b/cit-ecm-api/src/main/java/br/com/centralit/api/service/DocumentoGedService.java @@ -39,7 +39,7 @@ public interface DocumentoGedService extends GenericService */ void saveIconeDocumento(DocumentoGed documentoGed, Dominio tipoAnexo); - void anexarDocumento(Processo processoOrigem, AnexarProcessoVH anexarProcessoVH); + void anexarDocumento(Processo processoDestinoAnexo, Processo processoOrigem); Collection findByProcessoSigilo(Long idProcesso); diff --git a/cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/AnexarProcessoServiceImpl.java b/cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/AnexarProcessoServiceImpl.java index 4d475ce..556f73f 100644 --- a/cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/AnexarProcessoServiceImpl.java +++ b/cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/AnexarProcessoServiceImpl.java @@ -128,33 +128,35 @@ public class AnexarProcessoServiceImpl extends GenericServiceImplRegra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO *

* - * Método responsável por criar o vinculo do processo com processoRelacionado + * Método responsável por criar o vinculo do processo com * * * @param processoPrincipal @@ -346,10 +348,11 @@ public class AnexarProcessoServiceImpl extends GenericServiceImpl impl if (UtilObjeto.isReferencia(multipartFile)) { - DocumentoGed documentoGed = this.documentoGedService.getReference(idDocumento); + DocumentoGed documentoGed = this.documentoGedService.find(idDocumento); StringBuilder sb = new StringBuilder(); diff --git a/cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/DocumentoGedServiceImpl.java b/cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/DocumentoGedServiceImpl.java index 881e85f..3b76321 100644 --- a/cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/DocumentoGedServiceImpl.java +++ b/cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/DocumentoGedServiceImpl.java @@ -5,6 +5,7 @@ import java.io.FileInputStream; import java.security.Key; import java.util.Calendar; import java.util.Collection; +import java.util.LinkedList; import java.util.List; import javax.crypto.Cipher; @@ -33,7 +34,6 @@ import br.com.centralit.api.service.ProcessoService; import br.com.centralit.api.service.SigiloService; import br.com.centralit.api.service.SolrService; import br.com.centralit.api.service.TipoDocumentoService; -import br.com.centralit.api.viewHelper.AnexarProcessoVH; import br.com.centralit.framework.exception.BusinessException; import br.com.centralit.framework.exception.CodigoErro; import br.com.centralit.framework.model.Dominio; @@ -572,6 +572,7 @@ public class DocumentoGedServiceImpl extends GenericServiceImpl()); + //Monta os dados do novo interessado para o novo documento. + for(InteressadoDocumento interessadoDocumento : documentoGedOrigem.getInteressados()){ + + InteressadoDocumento interessadoDocumentoDestino = new InteressadoDocumento(); + interessadoDocumentoDestino.setInteressado(interessadoDocumento.getInteressado()); + interessadoDocumentoDestino.setDocumentoGed(documentoGed); + documentoGed.getInteressados().add(interessadoDocumentoDestino); + } + } documentoGed = super.save(documentoGed); + if (documentoGedOrigem.getFormaCriacao() != null && !documentoGedOrigem.getFormaCriacao().getCodigo().equals(1L)) { + + if (documentoGedOrigem.getAnexo() != null) { + anexoDocumentoOrigem = this.anexoGedService.getReference(documentoGedOrigem.getAnexo().getId()); + } + } + try { - if (anexo != null) { - File file = this.gedFileService.restoreFile(anexo); + if (anexoDocumentoOrigem != null) { + File file = this.gedFileService.restoreFile(anexoDocumentoOrigem); file.length(); FileInputStream input = new FileInputStream(file); - MultipartFile multipartFile = new MockMultipartFile("file", anexo.getDescricao(), "text/plain", IOUtils.toByteArray(input)); + MultipartFile multipartFile = new MockMultipartFile("file", anexoDocumentoOrigem.getDescricao(), "text/plain", IOUtils.toByteArray(input)); this.anexoGedService.saveAnexo(multipartFile, documentoGed.getId()); } diff --git a/cit-ecm-api/src/main/java/br/com/centralit/api/viewHelper/AnexarProcessoVH.java b/cit-ecm-api/src/main/java/br/com/centralit/api/viewHelper/AnexarProcessoVH.java index ee8936d..9e370e2 100644 --- a/cit-ecm-api/src/main/java/br/com/centralit/api/viewHelper/AnexarProcessoVH.java +++ b/cit-ecm-api/src/main/java/br/com/centralit/api/viewHelper/AnexarProcessoVH.java @@ -55,7 +55,7 @@ public class AnexarProcessoVH implements Serializable { @JsonView({ Views.AnexarProcesso.class }) private Collection listRemoverAnexado; - /** Atributo Proceso. */ + /** Atributo Proceso Pai */ @JsonView({ Views.AnexarProcesso.class }) private Processo processo; diff --git a/cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/AnexarProcessoController.js b/cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/AnexarProcessoController.js index 5963b2e..afcb1dc 100644 --- a/cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/AnexarProcessoController.js +++ b/cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/AnexarProcessoController.js @@ -59,7 +59,8 @@ citApp.controller('AnexarProcessoController', ['$scope', 'UnidadeProcessoReposit //Buscar processo através do nup $scope.findAutoCompleteProcesso = function(value){ return ProcessoRepository.findAutoComplete('nup', value).then(function(result) { - return $filter('idNotEqualProcessoAnexadoAndProcessoPai')(result, $scope.anexarProcessoVH.listaProcessoAnexado, $scope.$parent.$parent.processo); + + return $filter('idNotEqualProcessoAnexadoAndProcessoPai')(result, $scope.anexarProcessoVH.listaProcessoAnexado, $scope.$parent.$parent.processo); }); }; diff --git a/cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/GerenciarProcessoController.js b/cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/GerenciarProcessoController.js index c773756..d0442b3 100644 --- a/cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/GerenciarProcessoController.js +++ b/cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/GerenciarProcessoController.js @@ -455,15 +455,10 @@ citApp.controller('GerenciarProcessoController', [ '$scope', '$translate', '$tim }; $scope.tratimitado = function () { - UnidadeProcessoRepository.existeVinculo( { - 'joinClass' : 'processo.id', - 'id' : $scope.processo.id - } ).then( function ( result ) { + UnidadeProcessoRepository.existeVinculo( { 'joinClass' : 'processo.id', 'id' : $scope.processo.id } ).then( function ( result ) { if ( result ) { $scope.isTramitado = true; - } else { - $scope.isTramitado = false; - } + } } ); }; diff --git a/cit-ecm-web/src/main/webapp/html/anexarProcesso/anexarProcesso.html b/cit-ecm-web/src/main/webapp/html/anexarProcesso/anexarProcesso.html index f4ab7c3..d280d97 100644 --- a/cit-ecm-web/src/main/webapp/html/anexarProcesso/anexarProcesso.html +++ b/cit-ecm-web/src/main/webapp/html/anexarProcesso/anexarProcesso.html @@ -89,47 +89,6 @@ - -