From c557401c015033b493e60410880d3d08b45455c4 Mon Sep 17 00:00:00 2001 From: rogerio.costa Date: Mon, 11 Apr 2016 09:46:40 -0300 Subject: [PATCH] #4393 Correção de defeitos encontrados em homologação --- cit-ecm-api/src/main/java/br/com/centralit/api/dao/ProcessoDao.java | 95 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------ cit-ecm-api/src/main/java/br/com/centralit/api/dao/impl/ProcessoDaoHibernate.java | 20 ++++++++++++++++++-- cit-ecm-api/src/main/java/br/com/centralit/api/service/ProcessoService.java | 22 ++++++++++++++++++++++ cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/ProcessoServiceImpl.java | 29 +++++++++++++++++++++++++++-- cit-ecm-web/src/main/java/br/com/centralit/controller/ProcessoController.java | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ cit-ecm-web/src/main/java/br/com/centralit/listener/StartupListenerEcm.java | 2 +- cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/ClassificarDocumentoProcessoListController.js | 1 + cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/DocumentoGedController.js | 66 ++++++++++++++++++++++++++++++++++-------------------------------- cit-ecm-web/src/main/webapp/html/gerenciarProcesso/gerenciarProcessoListUnidade.html | 2 +- cit-ecm-web/src/main/webapp/html/gerenciarProcesso/includeDocumentosProcesso.html | 2 ++ 10 files changed, 220 insertions(+), 68 deletions(-) diff --git a/cit-ecm-api/src/main/java/br/com/centralit/api/dao/ProcessoDao.java b/cit-ecm-api/src/main/java/br/com/centralit/api/dao/ProcessoDao.java index 746cd75..3131392 100644 --- a/cit-ecm-api/src/main/java/br/com/centralit/api/dao/ProcessoDao.java +++ b/cit-ecm-api/src/main/java/br/com/centralit/api/dao/ProcessoDao.java @@ -6,6 +6,9 @@ import java.util.Collection; import br.com.centralit.api.model.Processo; import br.com.centralit.framework.dao.arquitetura.CitGenericDAO; +import com.googlecode.genericdao.search.ISearch; +import com.googlecode.genericdao.search.SearchResult; + /** *

* @@ -58,67 +61,99 @@ public interface ProcessoDao extends CitGenericDAO { * @return Collection */ Collection findPorPlanoClassificacao(Long idPlanoClassificacao); - - + /** * - *

Iniciativa(s): NUMERO_INICIATIVA

- * - *

Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO

- * + *

+ * Iniciativa(s): NUMERO_INICIATIVA + *

+ * + *

+ * Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO + *

+ * * Método responsável por - * + * * @author andre.silva - * + * * @param idProcesso * @param data * @return */ Long obterQuantidadePorProcessoEDataCriacao(Calendar dataInicial, Calendar dataFinal); - - + /** * - *

Iniciativa(s): NUMERO_INICIATIVA

- * - *

Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO

- * + *

+ * Iniciativa(s): NUMERO_INICIATIVA + *

+ * + *

+ * Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO + *

+ * * Método responsável por - * + * * @author andre.silva - * + * * @param processo * @return */ Boolean isProcessoAbertoEmOutrasUnidades(Processo processo); - + /** - *

Iniciativa(s): NUMERO_INICIATIVA

- * - *

Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO

- * + *

+ * Iniciativa(s): NUMERO_INICIATIVA + *

+ * + *

+ * Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO + *

+ * * Método responsável por - * + * * @author maycon.silva - * + * * @param idProcessInstance * @return */ Processo getProcessoByIdProcessInstance(Long idProcessInstance); - /** - *

Iniciativa(s): NUMERO_INICIATIVA

- * - *

Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO

- * + *

+ * Iniciativa(s): NUMERO_INICIATIVA + *

+ * + *

+ * Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO + *

+ * * Método responsável por - * + * * @author maycon.silva - * + * * @param nup * @return */ Processo getProcessoByProtocolo(String nup); + /** + *

+ * Iniciativa(s): NUMERO_INICIATIVA + *

+ * + *

+ * Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO + *

+ * + * Método responsável por listar através da permissão que o usuario tem + * + * @author rogerio.costa + * + * @param search + * + * @return SearchResult + */ + SearchResult searchAndCountPorSigilo(ISearch search); + } diff --git a/cit-ecm-api/src/main/java/br/com/centralit/api/dao/impl/ProcessoDaoHibernate.java b/cit-ecm-api/src/main/java/br/com/centralit/api/dao/impl/ProcessoDaoHibernate.java index 40ad1b8..ecacb24 100644 --- a/cit-ecm-api/src/main/java/br/com/centralit/api/dao/impl/ProcessoDaoHibernate.java +++ b/cit-ecm-api/src/main/java/br/com/centralit/api/dao/impl/ProcessoDaoHibernate.java @@ -170,8 +170,24 @@ public class ProcessoDaoHibernate extends CitGenericDAOImpl implements ProcessoD return searchUnique(search); } - @Override - public SearchResult searchAndCount(ISearch search) { + /** + *

+ * Iniciativa(s): NUMERO_INICIATIVA + *

+ * + *

+ * Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO + *

+ * + * Método responsável por listar através da permissão que o usuario tem + * + * @author rogerio.costa + * + * @param search + * + * @return SearchResult + */ + public SearchResult searchAndCountPorSigilo(ISearch search) { Long idUsuario = ( (Usuario) SecurityContextHolder.getContext().getAuthentication().getPrincipal() ).getId(); diff --git a/cit-ecm-api/src/main/java/br/com/centralit/api/service/ProcessoService.java b/cit-ecm-api/src/main/java/br/com/centralit/api/service/ProcessoService.java index 1a4cb0e..9c866f5 100644 --- a/cit-ecm-api/src/main/java/br/com/centralit/api/service/ProcessoService.java +++ b/cit-ecm-api/src/main/java/br/com/centralit/api/service/ProcessoService.java @@ -4,6 +4,9 @@ import br.com.centralit.api.model.PlanoClassificacao; import br.com.centralit.api.model.Processo; import br.com.centralit.framework.service.arquitetura.GenericService; +import com.googlecode.genericdao.search.ISearch; +import com.googlecode.genericdao.search.SearchResult; + /** *

* @@ -200,4 +203,23 @@ public interface ProcessoService extends GenericService { */ Boolean verificarAtribuicaoProcessoPrimeiroAcesso(Long idProcesso); + /** + *

+ * Iniciativa(s): NUMERO_INICIATIVA + *

+ * + *

+ * Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO + *

+ * + * Método responsável por listar através da permissão que o usuario tem + * + * @author rogerio.costa + * + * @param search + * + * @return SearchResult + */ + SearchResult searchAndCountPorSigilo(ISearch search); + } diff --git a/cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/ProcessoServiceImpl.java b/cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/ProcessoServiceImpl.java index fa4dd5c..fcb46e4 100644 --- a/cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/ProcessoServiceImpl.java +++ b/cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/ProcessoServiceImpl.java @@ -19,6 +19,9 @@ import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Service; import org.springframework.validation.Validator; +import com.googlecode.genericdao.search.ISearch; +import com.googlecode.genericdao.search.SearchResult; + import br.com.centralit.api.dao.ProcessoDao; import br.com.centralit.api.model.DocumentoGed; import br.com.centralit.api.model.EstruturaOrganizacionalECM; @@ -165,7 +168,7 @@ public class ProcessoServiceImpl extends GenericServiceImpl impl try { - this.solrService.addProcesso(processo); + this.solrService.addProcesso(processo); } catch (final Exception e) { e.printStackTrace(); @@ -215,7 +218,7 @@ public class ProcessoServiceImpl extends GenericServiceImpl impl this.documentoGedService.atualizarSigiloDocumentos(entity.getDocumentos()); if (UtilObjeto.isReferencia(processo.getAprovado()) && processo.getAprovado()) { - + this.startBusinessProcess(processo); } return processo; @@ -1029,6 +1032,28 @@ public class ProcessoServiceImpl extends GenericServiceImpl impl } /** + *

+ * Iniciativa(s): NUMERO_INICIATIVA + *

+ * + *

+ * Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO + *

+ * + * Método responsável por listar através da permissão que o usuario tem + * + * @author rogerio.costa + * + * @param search + * + * @return SearchResult + */ + public SearchResult searchAndCountPorSigilo(ISearch search) { + + return this.processoDao.searchAndCountPorSigilo(search); + } + + /** * */ @Override diff --git a/cit-ecm-web/src/main/java/br/com/centralit/controller/ProcessoController.java b/cit-ecm-web/src/main/java/br/com/centralit/controller/ProcessoController.java index 98f496b..920259b 100644 --- a/cit-ecm-web/src/main/java/br/com/centralit/controller/ProcessoController.java +++ b/cit-ecm-web/src/main/java/br/com/centralit/controller/ProcessoController.java @@ -1,6 +1,7 @@ package br.com.centralit.controller; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -10,10 +11,20 @@ import org.springframework.web.bind.annotation.ResponseBody; import br.com.centralit.api.model.Processo; import br.com.centralit.api.service.ProcessoService; +import br.com.centralit.api.service.UsuarioService; import br.com.centralit.framework.controller.GenericController; +import br.com.centralit.framework.dao.arquitetura.SearchSeven; import br.com.centralit.framework.json.ResponseBodyWrapper; import br.com.centralit.framework.json.Views; import br.com.centralit.framework.json.Views.GenericView; +import br.com.centralit.framework.model.SearchParams; +import br.com.centralit.framework.model.Usuario; +import br.com.centralit.framework.util.UtilString; +import br.com.centralit.framework.view.GridVH; +import br.com.centralit.framework.view.ResultResponseVH; + +import com.googlecode.genericdao.search.Search; +import com.googlecode.genericdao.search.SearchResult; @Controller @RequestMapping("/rest/processo") @@ -23,6 +34,10 @@ public class ProcessoController extends GenericController { @Autowired private ProcessoService processoService; + /** Atributo usuarioService. */ + @Autowired + private UsuarioService usuarioService; + @Autowired public ProcessoController( ProcessoService processoService ) { @@ -133,6 +148,40 @@ public class ProcessoController extends GenericController { return responseBody; } + @RequestMapping(value = "/getPage", method = RequestMethod.POST) + @ResponseBody + @SuppressWarnings("rawtypes") + public ResponseBodyWrapper findGrid(@RequestBody SearchParams searchParams) { + + SearchSeven search; + + search = new SearchSeven(searchParams); + + search.setResultMode(Search.RESULT_MAP); + + SearchResult searchResult = null; + + if (!UtilString.isNullOrEmpty(searchParams.getNome()) && searchParams.getNome().equals("GRID_CLASSIFICACAO_PROCESSO_DOCUMENTO")) { + + searchResult = this.processoService.searchAndCountPorSigilo(search); + + } else { + + searchResult = genericService.searchAndCount(search); + } + + // DETERMINA QUAIS OS CAMPOS VAI CONSULTAR + GridVH gridVH = new GridVH(); + gridVH.setObjects(searchResult.getResult()); + gridVH.addTotalItensTotalPages(searchParams, Long.valueOf(searchResult.getTotalCount())); + + ResultResponseVH resultResponseVH = new ResultResponseVH(gridVH); + + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(resultResponseVH, this.getListView()); + + return responseBody; + } + @Override public Class getEditView() { diff --git a/cit-ecm-web/src/main/java/br/com/centralit/listener/StartupListenerEcm.java b/cit-ecm-web/src/main/java/br/com/centralit/listener/StartupListenerEcm.java index 194d004..eb03b8e 100644 --- a/cit-ecm-web/src/main/java/br/com/centralit/listener/StartupListenerEcm.java +++ b/cit-ecm-web/src/main/java/br/com/centralit/listener/StartupListenerEcm.java @@ -357,7 +357,7 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.PRAZO_TEMPORALIDADE", "Unidade gestora", dominio, modulo)); internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.CLASSIFICACAO_ARQUIVISTICA", "Classificação Arquivística (Assunto)", dominio, modulo)); internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.CRIADO_EM", "Criado em", dominio, modulo)); - internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.DATA_CONCLUSAO", "Criado em", dominio, modulo)); + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.DATA_CONCLUSAO", "Data conclusão", dominio, modulo)); internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.SIGILO", "Sigilo", dominio, modulo)); internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.TEXTO", "Texto", dominio, modulo)); internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.PADRAO", "Padrão", dominio, modulo)); diff --git a/cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/ClassificarDocumentoProcessoListController.js b/cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/ClassificarDocumentoProcessoListController.js index 9865eaa..5d210d6 100644 --- a/cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/ClassificarDocumentoProcessoListController.js +++ b/cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/ClassificarDocumentoProcessoListController.js @@ -41,6 +41,7 @@ citApp.controller('ClassificarDocumentoProcessoListController', ['$scope', 'Proc $scope.filterCriteria = { start : 1, + nome : "GRID_CLASSIFICACAO_PROCESSO_DOCUMENTO", dir : 'asc', sort : 'id', limit : 10, diff --git a/cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/DocumentoGedController.js b/cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/DocumentoGedController.js index b21ddad..d3fb77f 100644 --- a/cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/DocumentoGedController.js +++ b/cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/DocumentoGedController.js @@ -155,11 +155,8 @@ citApp.controller('DocumentoGedController', ['$scope', 'DocumentoGedRepository', }; $scope.saveDocumento = function(){ - var processo = { - id : $scope.$parent.$parent.processo.id - }; - - var isNew = $scope.documentoGed.id; + + var isNew = $scope.documentoGed.id; //Remove as propriedades para realizar a requisição do ducmentoGed $scope.removePropriedades(); @@ -167,38 +164,13 @@ citApp.controller('DocumentoGedController', ['$scope', 'DocumentoGedRepository', DocumentoGedRepository.save($scope.documentoGed).then(function(result) { $scope.documentoGed = result.originalElement; - + $scope.saveHistorico(isNew); $scope.saveUpload(); $scope.showAlert("success", $translate.instant('MSG.REGISTRO_SALVO')); $scope.documentoGedForm.$submitted = false; //Remove as propriedades para realizar a requisição do ducmentoGed $scope.removePropriedades(); - - if(!isNew){ - var historicoAlteracaoProcesso = { - descricaoAcao : $translate.instant('ECM.MSG_HISTORICO_ECM.INCLUSAO_DOCUMENTO'), - processo : processo, - autor : $scope.usuarioLogado, - acaoAlteracao : "INCLUSAO_DOCUMENTO", - idTask : $scope.task.id, - mapaAtributos : {"tipo_documento" : $scope.documentoGed.tipoDocumento.nome, "numero_documento" : $scope.documentoGed.numero} - }; - HistoricoAlteracaoProcessoRepository.saveParams(historicoAlteracaoProcesso).then(function(result){ - - }); - - } else { - var historicoAlteracaoProcesso = { - descricaoAcao : $translate.instant('ECM.MSG_HISTORICO_ECM.CRIACAO_NOVA_VERSAO_DOCUMENTO'), - processo : processo, - autor : $scope.usuarioLogado, - acaoAlteracao : "CRIACAO_NOVA_VERSAO_DOCUMENTO", - idTask : $scope.task.id, - mapaAtributos : {"tipo_documento" : $scope.documentoGed.tipoDocumento.nome, "numero_documento" : $scope.documentoGed.numero, "numero_versao" : $scope.documentoGed.versaoDocumento.toFixed(1)} - }; - HistoricoAlteracaoProcessoRepository.saveParams(historicoAlteracaoProcesso).then(function(result){ - }); - } + $timeout(function(){ $scope.$parent.$parent.closeWidget(); $scope.atualizaProcesso(); @@ -209,6 +181,36 @@ citApp.controller('DocumentoGedController', ['$scope', 'DocumentoGedRepository', }; + //Salvar o histórico do documento + $scope.saveHistorico = function(isNew){ + + if(!isNew){ + var historicoAlteracaoProcesso = { + descricaoAcao : $translate.instant('ECM.MSG_HISTORICO_ECM.INCLUSAO_DOCUMENTO'), + processo : $scope.documentoGed.processo, + autor : $scope.usuarioLogado, + acaoAlteracao : "INCLUSAO_DOCUMENTO", + idTask : $scope.task.id, + mapaAtributos : {"tipo_documento" : $scope.documentoGed.tipoDocumento.nome, "numero_documento" : $scope.documentoGed.numero} + }; + HistoricoAlteracaoProcessoRepository.saveParams(historicoAlteracaoProcesso).then(function(result){ + + }); + + } else { + var historicoAlteracaoProcesso = { + descricaoAcao : $translate.instant('ECM.MSG_HISTORICO_ECM.CRIACAO_NOVA_VERSAO_DOCUMENTO'), + processo : $scope.documentoGed.processo, + autor : $scope.usuarioLogado, + acaoAlteracao : "CRIACAO_NOVA_VERSAO_DOCUMENTO", + idTask : $scope.task.id, + mapaAtributos : {"tipo_documento" : $scope.documentoGed.tipoDocumento.nome, "numero_documento" : $scope.documentoGed.numero, "numero_versao" : $scope.documentoGed.versaoDocumento.toFixed(1)} + }; + HistoricoAlteracaoProcessoRepository.saveParams(historicoAlteracaoProcesso).then(function(result){ + }); + } + }; + // Limpa o formulario preenchido $scope.limparDocumentoGed = function(){ $scope.documentoGed = { diff --git a/cit-ecm-web/src/main/webapp/html/gerenciarProcesso/gerenciarProcessoListUnidade.html b/cit-ecm-web/src/main/webapp/html/gerenciarProcesso/gerenciarProcessoListUnidade.html index 3de668a..26a5583 100644 --- a/cit-ecm-web/src/main/webapp/html/gerenciarProcesso/gerenciarProcessoListUnidade.html +++ b/cit-ecm-web/src/main/webapp/html/gerenciarProcesso/gerenciarProcessoListUnidade.html @@ -1,5 +1,5 @@ -
+
diff --git a/cit-ecm-web/src/main/webapp/html/gerenciarProcesso/includeDocumentosProcesso.html b/cit-ecm-web/src/main/webapp/html/gerenciarProcesso/includeDocumentosProcesso.html index 5011e33..7804efa 100644 --- a/cit-ecm-web/src/main/webapp/html/gerenciarProcesso/includeDocumentosProcesso.html +++ b/cit-ecm-web/src/main/webapp/html/gerenciarProcesso/includeDocumentosProcesso.html @@ -3,6 +3,8 @@
+ +
{{documento.icon}}
-- libgit2 0.21.2