From 8f412b1d93abae276c96bb45922a44adda39e04c Mon Sep 17 00:00:00 2001 From: maycon.silva Date: Mon, 2 May 2016 10:18:56 -0300 Subject: [PATCH] Redmine # 285 Reabrir processo --- cit-ecm-api/src/main/java/br/com/centralit/api/dao/ProcessoDao.java | 2 ++ cit-ecm-api/src/main/java/br/com/centralit/api/dao/impl/ProcessoDaoHibernate.java | 18 ++++++++++++++++++ cit-ecm-api/src/main/java/br/com/centralit/api/framework/json/ViewsEcm.java | 4 ++++ cit-ecm-api/src/main/java/br/com/centralit/api/model/Processo.java | 2 +- cit-ecm-api/src/main/java/br/com/centralit/api/service/ProcessoService.java | 16 ++++++++++++++++ cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/InicializarEcmServiceImpl.java | 16 ++++++++++++++++ cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/ProcessoServiceImpl.java | 33 +++++++++++++++++++++++++++++++++ cit-ecm-web/src/main/java/br/com/centralit/controller/ProcessoController.java | 14 ++++++++++++++ cit-ecm-web/src/main/java/br/com/centralit/listener/StartupListenerEcm.java | 21 +++++++++++++++++---- cit-ecm-web/src/main/webapp/assets/js/angular/custom/repository/ProcessoRepository.js | 5 +++++ 10 files changed, 126 insertions(+), 5 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 d6ded34..6f4c3c5 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 @@ -194,4 +194,6 @@ public interface ProcessoDao extends CitGenericDAO { Collection autoCompleteProcessoEmAndamentoByNup(String nup); + Collection autoCompleteProcessoConcluidoByNup(String nup); + } 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 0339a90..15bf39c 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 @@ -292,6 +292,24 @@ public class ProcessoDaoHibernate extends CitGenericDAOImpl implements ProcessoD return this.search(search); } + + + + @Override + public Collection autoCompleteProcessoConcluidoByNup(String nup) { + + Search search = new SearchSeven(this.persistentClass); + + search.addFilterOr(Filter.ilike("nup", "%" + nup + "%"), Filter.ilike("nup", "%" + nup + "%")); + + search.addFilterEqual("status.codigo", 1L); + + search.addSortDesc("id"); + + search.setMaxResults(10); + + return this.search(search); + } @Override public Collection autoCompleteProcessoEmAndamentoByNup(String nup) { diff --git a/cit-ecm-api/src/main/java/br/com/centralit/api/framework/json/ViewsEcm.java b/cit-ecm-api/src/main/java/br/com/centralit/api/framework/json/ViewsEcm.java index b93cabc..44115db 100644 --- a/cit-ecm-api/src/main/java/br/com/centralit/api/framework/json/ViewsEcm.java +++ b/cit-ecm-api/src/main/java/br/com/centralit/api/framework/json/ViewsEcm.java @@ -112,4 +112,8 @@ public class ViewsEcm extends Views { public static class MetadadoProcessoView extends Views.GenericView{}; + public static class ReabrirProcessoListView extends Views.GenericView{}; + + public static class ReabrirProcessoEditView extends Views.ReabrirProcessoListView{} + } 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 674f37a..943f711 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 @@ -101,7 +101,7 @@ public class Processo extends PersistentObjectUnidade { private Calendar dataConclusao; /** Atributo nup. */ - @JsonView({ Views.ProcessoList.class, Views.ProcessoRelacionadoList.class, Views.AnexarProcesso.class, Views.ProcessoAutoCompleteView.class, Views.UnidadeProcessoListView.class, ViewsEcm.MetadadoProcessoView.class, Views.ProcessoVHView.class }) + @JsonView({ Views.ProcessoList.class, Views.ProcessoRelacionadoList.class, Views.AnexarProcesso.class, Views.ProcessoAutoCompleteView.class, Views.UnidadeProcessoListView.class, ViewsEcm.MetadadoProcessoView.class, Views.ProcessoVHView.class, Views.ReabrirProcessoListView.class}) private String nup; /** Atributo nome. */ 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 864462f..8c3e062 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 @@ -5,6 +5,7 @@ import java.util.Collection; import br.com.centralit.api.model.PlanoClassificacao; import br.com.centralit.api.model.Processo; import br.com.centralit.api.viewHelper.ProcessoVH; +import br.com.centralit.framework.model.Unidade; import br.com.centralit.framework.service.arquitetura.GenericService; import com.googlecode.genericdao.search.ISearch; @@ -256,5 +257,20 @@ public interface ProcessoService extends GenericService { * @return */ ProcessoVH getProcessoView(Long id); + + /** + * Método responsável por Reabrir processo BPE para uma unidade + * + *O processo será aberto no ponto que final da execução do fluxo + * + * @author maycon.silva + * + * @param processo + * @param unidade + */ + void reopenProcessIntance(Processo processo, Unidade unidade); + + + Collection autoCompleteProcessoConcluidoByNup(String nup); } diff --git a/cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/InicializarEcmServiceImpl.java b/cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/InicializarEcmServiceImpl.java index 934e9c9..b54b172 100644 --- a/cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/InicializarEcmServiceImpl.java +++ b/cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/InicializarEcmServiceImpl.java @@ -263,7 +263,23 @@ public class InicializarEcmServiceImpl extends UtilStartup { filesGerenciarProcessoListUnidade.add(new MenuFile("/cit-ecm-web/assets/js/angular/custom/controller/GerenciarProcessoListUnidadeController.js", this.dominioJS, menuGerenciarProcessoListUnidade)); menuGerenciarProcessoListUnidade.setIncludes(filesGerenciarProcessoListUnidade); this.menuService.mergeIfNotExist(menuGerenciarProcessoListUnidade); + + Pagina pgReabrirProcesso = new Pagina("Reabrir Processo", "/cit-ecm-web/html/reabrirProcesso/reabrirProcesso.html"); + pgReabrirProcesso = this.paginaService.saveIfNotExist(pgReabrirProcesso); + + Menu menuReabrirProcesso = new Menu("Reabrir Processo", pgReabrirProcesso, menuProcesso, 2, 7, null, null, null, null, modulo, "REABRIR_PROCESSO"); + menuReabrirProcesso.setIncludes(this.gerarArquivosMenu(menuReabrirProcesso, this.CIT_ECM_WEB_ANGULAR, "ReabrirProcesso", true, true, true)); + this.menuService.mergeIfNotExist(menuReabrirProcesso); + + + Pagina pgSolicitarReaberturaProcesso = new Pagina("Solicitação de Reabertura de Processo", "/cit-ecm-web/html/solicitacaoReaberturaProcesso/solicitacaoReaberturaProcesso.html"); + pgSolicitarReaberturaProcesso = this.paginaService.saveIfNotExist(pgSolicitarReaberturaProcesso); + Menu menuSolicitarReaberturaProcesso = new Menu("Solicitação de Reabertura de Processo", pgSolicitarReaberturaProcesso, menuProcesso, 2, 8, null, null, null, null, modulo, "SOLICITACAO_REABERTURA_PROCESSO"); + + menuSolicitarReaberturaProcesso.setIncludes(this.gerarArquivosMenu(menuSolicitarReaberturaProcesso, this.CIT_ECM_WEB_ANGULAR, "SolicitacaoReaberturaProcesso", true, true, false)); + this.menuService.mergeIfNotExist(menuSolicitarReaberturaProcesso); + } private void iniciarMenuCadastroBasico(Modulo modulo) { 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 f573020..f99d9e7 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 @@ -1227,6 +1227,31 @@ public class ProcessoServiceImpl extends GenericServiceImpl impl } } } + + /** + * Método responsável por Reabrir processo BPE para uma unidade + * + *O processo será aberto no ponto que final da execução do fluxo + * + * @author maycon.silva + * + * @param processo + * @param unidade + */ + public void reopenProcessIntance(Processo processo, Unidade unidade ){ + + final Unidade unidadeReabertura = this.unidadeService.getReference(unidade.getId()); + + final Processo processoReabertura = this.getReference(processo.getId()); + + final List variaveis = new ArrayList(); + + processoReabertura.setStatus(this.dominioService.findByChaveAndCodigo("statusProcesso", 1L)); + + variaveis.add(new EnvironmentVariable("grupoPadrao", VariableTypeEnum.TEXT, unidadeReabertura.getGrupo().getSigla(), false)); + + reopenProcessInstance(processoReabertura.getIdProcessInstance(), variaveis); + } /** *

@@ -1273,5 +1298,13 @@ public class ProcessoServiceImpl extends GenericServiceImpl impl return this.processoDao.autoCompleteProcessoEmAndamentoByNup(nup); } + + public Collection autoCompleteProcessoConcluidoByNup(String nup) { + + return this.processoDao.autoCompleteProcessoConcluidoByNup(nup); + + } + + } 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 c3c5819..1aebfa9 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 @@ -229,6 +229,20 @@ public class ProcessoController extends GenericController { return responseBody; } + + @RequestMapping(value = "/autoCompleteProcessoConcluidoByNup", method = RequestMethod.GET, produces = "application/json") + @ResponseBody + public ResponseBodyWrapper autoCompleteProcessoConcluidoByNup(@RequestParam(value = "nup") String nup) { + + ResultResponseVH> resultResponseVH = new ResultResponseVH>(this.processoService.autoCompleteProcessoConcluidoByNup(nup)); + + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(resultResponseVH, getMetadadoProcessoView()); + + 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 0580dbb..05d3aa7 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 @@ -88,10 +88,12 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen */ private void criarRegraDeAcesso() { - Privilegio privilegioReservado = this.privilegioService.saveIfNotExist(new Privilegio("USER_RESERVADO", "Acessa o sigilo reservado")); - Privilegio privilegioSecreto = this.privilegioService.saveIfNotExist(new Privilegio("USER_SECRETO", "Acessa o sigilo secreto")); - Privilegio privilegioUltrassecreto = this.privilegioService.saveIfNotExist(new Privilegio("USER_ULTRASSECRETO", "Acessa o sigilo Ultrassecreto")); - + Privilegio privilegioProtocolo = this.privilegioService.saveIfNotExist(new Privilegio("PROTOCOLO", "Acessa processo finalizados")); + + Privilegio privilegioReservado = this.privilegioService.saveIfNotExist(new Privilegio("RESERVADO", "Acessa o sigilo reservado")); + Privilegio privilegioSecreto = this.privilegioService.saveIfNotExist(new Privilegio("SECRETO", "Acessa o sigilo secreto")); + Privilegio privilegioUltrassecreto = this.privilegioService.saveIfNotExist(new Privilegio("ULTRASSECRETO", "Acessa o sigilo Ultrassecreto")); + Dominio dominioReservado = this.dominioService.findByChaveAndCodigo("tipoSigilo", 0L); Dominio dominioSecreto = this.dominioService.findByChaveAndCodigo("tipoSigilo", 1L); Dominio dominioUltrassecreto = this.dominioService.findByChaveAndCodigo("tipoSigilo", 2L); @@ -227,6 +229,10 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen list.add(new Dominio("tipoAssinatura", "Assinatura interna", "ASSINATURA_INTERNA", 1L)); list.add(new Dominio("tipoAssinatura", "Assinatura por certificado digital", "ASSINATURA_CERTIFICADO_DIGITAL", 2L)); + + list.add(new Dominio("statusSolicitaoProcesso", "Em Aberto", "EM_ABERTO", 1L, Boolean.FALSE)); + list.add(new Dominio("statusSolicitaoProcesso", "Aprovada", "APROVADA", 2L, Boolean.FALSE)); + list.add(new Dominio("statusSolicitaoProcesso", "Rejeitada", "REJEITADA", 3L, Boolean.FALSE)); this.dominioService.saveListIfNotExist(list); @@ -459,6 +465,13 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.DOCUMENTO_SEM_ASSINATURA", "Documento sem assinaturas!", dominio, modulo)); internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.DADOS_PROCESSO_ANEXADO", "Dados do Processo Anexado", dominio, modulo)); internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.VISUALIZAR_ASSINATURAS", "Visualizar Assinaturas", dominio, modulo)); + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.JUSTIFICATIVA_CANCELAMENTO", "Justificativa Cancelado", dominio, modulo)); + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.DADOS_REABERTURA", "Dados da Reabertura", dominio, modulo)); + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.VISUALIZAR_PROCESSO", "Visualizar Processo", dominio, modulo)); + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.REABRIR", "Executar Solicitacao", dominio, modulo)); + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.SOLICITAR_REABERTURA", "Solicitar Reabertura", dominio, modulo)); + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.JUSTIFICATIVAREJEICAO", "Rejeitar Solicitação", dominio, modulo)); + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.DADOS_SOLICITACAO", "Dados da Solicitação", dominio, modulo)); } diff --git a/cit-ecm-web/src/main/webapp/assets/js/angular/custom/repository/ProcessoRepository.js b/cit-ecm-web/src/main/webapp/assets/js/angular/custom/repository/ProcessoRepository.js index 27da5f6..c2c3845 100644 --- a/cit-ecm-web/src/main/webapp/assets/js/angular/custom/repository/ProcessoRepository.js +++ b/cit-ecm-web/src/main/webapp/assets/js/angular/custom/repository/ProcessoRepository.js @@ -51,6 +51,11 @@ citApp.factory('ProcessoRepository', ['RestangularEcm', 'AbstractRepository', fu return restangularEcm.one(this.route + '/autoCompleteProcessoEmAndametoByNup').get({"nup": nup}).then(); }; + + this.autoCompleteProcessoConcluidoByNup = function (nup){ + return restangularEcm.one(this.route + '/autoCompleteProcessoConcluidoByNup').get({"nup": nup}).then(); + + }; } -- libgit2 0.21.2