diff --git a/cit-ecm-api/src/main/java/br/com/centralit/api/dao/ReabrirProcessoDao.java b/cit-ecm-api/src/main/java/br/com/centralit/api/dao/ReabrirProcessoDao.java index cb68080..5afe5f7 100644 --- a/cit-ecm-api/src/main/java/br/com/centralit/api/dao/ReabrirProcessoDao.java +++ b/cit-ecm-api/src/main/java/br/com/centralit/api/dao/ReabrirProcessoDao.java @@ -1,5 +1,8 @@ package br.com.centralit.api.dao; +import java.util.Collection; + +import br.com.centralit.api.model.ReabrirProcesso; import br.com.centralit.framework.dao.arquitetura.CitGenericDAO; @@ -25,4 +28,17 @@ import br.com.centralit.framework.dao.arquitetura.CitGenericDAO; */ public interface ReabrirProcessoDao extends CitGenericDAO { + /** + *

Iniciativa(s): NUMERO_INICIATIVA

+ * + *

Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO

+ * + * Método responsável por + * + * @author maycon.silva + * + * @return + */ + Collection findSolicitacaoEmAberto(); + } 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 7acf0fc..f2167ce 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 @@ -299,17 +299,21 @@ public class ProcessoDaoHibernate extends CitGenericDAOImpl implements ProcessoD @Override public Collection autoCompleteProcessoConcluidoByNup(String nup) { - Search search = new SearchSeven(this.persistentClass); + Criteria criteriaProcesso = this.newCriteria(Processo.class); - search.addFilterOr(Filter.ilike("nup", "%" + nup + "%"), Filter.ilike("nup", "%" + nup + "%")); - - search.addFilterEqual("status.codigo", 1L); + criteriaProcesso.add(Restrictions.ilike("nup", "%" + nup + "%")); - search.addSortDesc("id"); + criteriaProcesso.createAlias("status", "status", JoinType.LEFT_OUTER_JOIN); - search.setMaxResults(10); + criteriaProcesso.add(Restrictions.eq("status.codigo", 1L)); - return this.search(search); + this.filterProcessoPermissaoUsuario(criteriaProcesso); + + criteriaProcesso.addOrder(Order.desc("id")); + + criteriaProcesso.setMaxResults(10); + + return criteriaProcesso.list(); } @Override diff --git a/cit-ecm-api/src/main/java/br/com/centralit/api/dao/impl/ReabrirProcessoDaoHibernate.java b/cit-ecm-api/src/main/java/br/com/centralit/api/dao/impl/ReabrirProcessoDaoHibernate.java index cb9c231..cb118ad 100644 --- a/cit-ecm-api/src/main/java/br/com/centralit/api/dao/impl/ReabrirProcessoDaoHibernate.java +++ b/cit-ecm-api/src/main/java/br/com/centralit/api/dao/impl/ReabrirProcessoDaoHibernate.java @@ -1,10 +1,15 @@ package br.com.centralit.api.dao.impl; +import java.util.Collection; + import org.springframework.stereotype.Repository; +import com.googlecode.genericdao.search.Filter; + import br.com.centralit.api.dao.ReabrirProcessoDao; import br.com.centralit.api.model.ReabrirProcesso; import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl; +import br.com.centralit.framework.dao.arquitetura.SearchSeven; /** @@ -38,4 +43,17 @@ public class ReabrirProcessoDaoHibernate extends CitGenericDAOImpl implements Re super(ReabrirProcesso.class); } + @Override + public Collection findSolicitacaoEmAberto() { + + SearchSeven searchSeven = new SearchSeven(); + + searchSeven.addFilter(Filter.equal("validado", false)); + + return super.search(searchSeven); + + } + + + } diff --git a/cit-ecm-api/src/main/java/br/com/centralit/api/model/AcaoHistoricoAlteracaoProcesso.java b/cit-ecm-api/src/main/java/br/com/centralit/api/model/AcaoHistoricoAlteracaoProcesso.java index 24d9ec6..d7dfa60 100644 --- a/cit-ecm-api/src/main/java/br/com/centralit/api/model/AcaoHistoricoAlteracaoProcesso.java +++ b/cit-ecm-api/src/main/java/br/com/centralit/api/model/AcaoHistoricoAlteracaoProcesso.java @@ -76,6 +76,10 @@ public class AcaoHistoricoAlteracaoProcesso extends PersistentObject { public static String INCLUSAO_PROCESSO_ACAO = "Inclusão do processo"; public static String INCLUSAO_PROCESSO_CHAVE = "INCLUSAO_PROCESSO"; + public static String REABERTURA_DE_PROCESSO_DESCRICAO = "Processo <> reaberto."; + public static String REABERTURA_DE_PROCESSO_ACAO = "Reabertura de processo"; + public static String REABERTURA_DE_PROCESSO_CHAVE = "REABERTURA_DE_PROCESSO"; + public AcaoHistoricoAlteracaoProcesso() { diff --git a/cit-ecm-api/src/main/java/br/com/centralit/api/model/ReabrirProcesso.java b/cit-ecm-api/src/main/java/br/com/centralit/api/model/ReabrirProcesso.java index 251938d..20a9feb 100644 --- a/cit-ecm-api/src/main/java/br/com/centralit/api/model/ReabrirProcesso.java +++ b/cit-ecm-api/src/main/java/br/com/centralit/api/model/ReabrirProcesso.java @@ -75,6 +75,7 @@ public class ReabrirProcesso extends PersistentObjectUnidade { private Dominio status; @Transient + @JsonView({ Views.ReabrirProcessoListView.class}) private boolean validado; @@ -192,7 +193,6 @@ public class ReabrirProcesso extends PersistentObjectUnidade { * * @return boolean */ - @JsonView({ Views.ReabrirProcessoListView.class}) public boolean isValidado() { return validado; diff --git a/cit-ecm-api/src/main/java/br/com/centralit/api/service/HistoricoAlteracaoProcessoService.java b/cit-ecm-api/src/main/java/br/com/centralit/api/service/HistoricoAlteracaoProcessoService.java index 7847b56..e5e4b64 100644 --- a/cit-ecm-api/src/main/java/br/com/centralit/api/service/HistoricoAlteracaoProcessoService.java +++ b/cit-ecm-api/src/main/java/br/com/centralit/api/service/HistoricoAlteracaoProcessoService.java @@ -6,6 +6,7 @@ import br.com.centralit.api.model.Assinatura; import br.com.centralit.api.model.HistoricoAlteracaoProcesso; import br.com.centralit.api.model.Processo; import br.com.centralit.api.model.UnidadeProcesso; +import br.com.centralit.framework.model.Unidade; import br.com.centralit.framework.service.arquitetura.GenericService; /** @@ -133,4 +134,13 @@ public interface HistoricoAlteracaoProcessoService extends GenericService { + + /** + *

Iniciativa(s): NUMERO_INICIATIVA

+ * + *

Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO

+ * + * Método responsável por + * + * @author maycon.silva + * + * @return + */ + Collection findSolicitacaoEmAberto(); } diff --git a/cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/HistoricoAlteracaoProcessoServiceImpl.java b/cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/HistoricoAlteracaoProcessoServiceImpl.java index 7f7f3f2..d405e5a 100644 --- a/cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/HistoricoAlteracaoProcessoServiceImpl.java +++ b/cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/HistoricoAlteracaoProcessoServiceImpl.java @@ -20,6 +20,7 @@ import br.com.centralit.api.model.UnidadeProcesso; import br.com.centralit.api.service.AcaoHistoricoAlteracaoProcessoService; import br.com.centralit.api.service.HistoricoAlteracaoProcessoService; import br.com.centralit.api.service.ProcessoService; +import br.com.centralit.framework.model.Unidade; import br.com.centralit.framework.model.Usuario; import br.com.centralit.framework.service.arquitetura.GenericServiceImpl; import br.com.centralit.framework.util.UtilObjeto; @@ -312,4 +313,25 @@ public class HistoricoAlteracaoProcessoServiceImpl extends GenericServiceImpl mapaAtributos = new HashMap(); + mapaAtributos.put("protocolo", processo.getNup()); + mapaAtributos.put("unidade", unidade.getSigla()); + + HistoricoAlteracaoProcesso hap = new HistoricoAlteracaoProcesso( + processo, + Calendar.getInstance(), + usuario.getUnidade().getNome(), + usuario.getUsername(), + null, + AcaoHistoricoAlteracaoProcesso.REABERTURA_DE_PROCESSO_DESCRICAO, + AcaoHistoricoAlteracaoProcesso.REABERTURA_DE_PROCESSO_CHAVE, null, mapaAtributos); + hap.setAutor(usuario); + + this.saveWithParams(hap); + + } } 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 f99d9e7..2d100f6 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 @@ -1246,11 +1246,17 @@ public class ProcessoServiceImpl extends GenericServiceImpl impl final List variaveis = new ArrayList(); - processoReabertura.setStatus(this.dominioService.findByChaveAndCodigo("statusProcesso", 1L)); + processoReabertura.setStatus(this.dominioService.findByChaveAndCodigo("statusProcesso", 2L)); + + UnidadeProcesso unidadeProcesso = unidadeProcessoService.obterPorUnidadeEProcesso(processoReabertura.getId(), unidade.getId()); + + unidadeProcesso.setConcluido(false); variaveis.add(new EnvironmentVariable("grupoPadrao", VariableTypeEnum.TEXT, unidadeReabertura.getGrupo().getSigla(), false)); - reopenProcessInstance(processoReabertura.getIdProcessInstance(), variaveis); + reopenProcessInstance(processoReabertura.getIdProcessInstance(), variaveis); + + historicoAlteracaoProcessoService.gerarHistoricoReaberturProcesso(processo, unidade); } /** diff --git a/cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/ReabrirProcessoServiceImpl.java b/cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/ReabrirProcessoServiceImpl.java index 1b097a2..9f96bf5 100644 --- a/cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/ReabrirProcessoServiceImpl.java +++ b/cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/ReabrirProcessoServiceImpl.java @@ -1,6 +1,7 @@ package br.com.centralit.api.service.impl; import java.util.ArrayList; +import java.util.Collection; import java.util.LinkedList; import org.springframework.beans.factory.annotation.Autowired; @@ -9,6 +10,7 @@ import org.springframework.stereotype.Service; import br.com.centralit.api.dao.ReabrirProcessoDao; import br.com.centralit.api.model.ReabrirProcesso; import br.com.centralit.api.service.DominioService; +import br.com.centralit.api.service.GrupoService; import br.com.centralit.api.service.NotificacaoService; import br.com.centralit.api.service.ProcessoService; import br.com.centralit.api.service.ReabrirProcessoService; @@ -16,9 +18,12 @@ import br.com.centralit.api.service.TemporalidadeService; import br.com.centralit.api.service.UnidadeProcessoService; import br.com.centralit.api.service.UnidadeService; import br.com.centralit.framework.model.Dominio; +import br.com.centralit.framework.model.Grupo; import br.com.centralit.framework.model.Notificacao; +import br.com.centralit.framework.model.NotificacaoGrupo; import br.com.centralit.framework.model.NotificacaoUsuario; import br.com.centralit.framework.service.arquitetura.GenericServiceImpl; +import br.com.centralit.framework.util.UtilColecao; /** *

@@ -55,6 +60,10 @@ import br.com.centralit.framework.service.arquitetura.GenericServiceImpl; @Service("reabrirProcessoServiceImpl") public class ReabrirProcessoServiceImpl extends GenericServiceImpl implements ReabrirProcessoService { + private static final String SOLICITAÇÃO_DE_REABERTURA = "Solicitação de Reabertura"; + + private static final String PROTOCOLO = "PROTOCOLO"; + /** Atributo reabrirProcessoDao. */ private ReabrirProcessoDao reabrirProcessoDao; @@ -76,6 +85,10 @@ public class ReabrirProcessoServiceImpl extends GenericServiceImpl grupos = this.grupoService.findGrupoPorNomePrivilegio(PROTOCOLO); + + if (!UtilColecao.isVazio(grupos)) { + + notificacao.setNotificacaoGrupos(new LinkedList()); + + for (Grupo grupo : grupos) { + + NotificacaoGrupo notificacaoGrupo = new NotificacaoGrupo(grupo, notificacao); + + notificacao.getNotificacaoGrupos().add(notificacaoGrupo); + } + + } + + this.notificacaoService.save(notificacao); + + } + + private void enviarNotificacaoStatusReabertura(ReabrirProcesso reabrirProcesso) { + + StringBuilder sb = new StringBuilder(); + sb.append("A sua solicitação de reabertura para o proceso ").append(reabrirProcesso.getProcesso().getNup()).append(" foi "); if (reabrirProcesso.getStatus().getCodigo().equals(2L)) { @@ -147,5 +195,9 @@ public class ReabrirProcessoServiceImpl extends GenericServiceImpl findSolicitacaoEmAberto(){ + return reabrirProcessoDao.findSolicitacaoEmAberto(); + } } diff --git a/cit-ecm-web/src/main/java/br/com/centralit/controller/ReabrirProcessoController.java b/cit-ecm-web/src/main/java/br/com/centralit/controller/ReabrirProcessoController.java index 6ef8e68..b722b7d 100644 --- a/cit-ecm-web/src/main/java/br/com/centralit/controller/ReabrirProcessoController.java +++ b/cit-ecm-web/src/main/java/br/com/centralit/controller/ReabrirProcessoController.java @@ -1,13 +1,21 @@ package br.com.centralit.controller; +import java.util.Collection; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; import br.com.centralit.api.framework.json.ViewsEcm; +import br.com.centralit.api.model.Processo; import br.com.centralit.api.model.ReabrirProcesso; import br.com.centralit.api.service.ReabrirProcessoService; import br.com.centralit.framework.controller.GenericController; +import br.com.centralit.framework.json.ResponseBodyWrapper; +import br.com.centralit.framework.view.ResultResponseVH; /** *

@@ -48,6 +56,19 @@ public class ReabrirProcessoController extends GenericController> resultResponseVH = new ResultResponseVH>(this.reabrirProcessoService.findSolicitacaoEmAberto()); + + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(resultResponseVH, 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 05d3aa7..5e3af4b 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,7 +88,7 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen */ private void criarRegraDeAcesso() { - Privilegio privilegioProtocolo = this.privilegioService.saveIfNotExist(new Privilegio("PROTOCOLO", "Acessa processo finalizados")); + 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")); @@ -146,7 +146,8 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen list.add(new AcaoHistoricoAlteracaoProcesso("ATUALIZAR_ANDAMENTO_PROCESSO", "Atualização de Andamento do Processo", "Situação do processo alterada para <>.")); list.add(new AcaoHistoricoAlteracaoProcesso("INICIAR_ATRIBUICAO_PROCESSO", "Atribuição do processo", "Processo atribuído a <>.")); list.add(new AcaoHistoricoAlteracaoProcesso("ALTERAR_ATRIBUICAO_PROCESSO", "Atribuição do processo alterada", "Processo atribuído a <>.")); - + list.add(new AcaoHistoricoAlteracaoProcesso("REABERTURA_DE_PROCESSO", "Reabrir Processo", "Processo reaberto na unidade <>.")); + try { this.acaoHistoricoAlteracaoProcessoService.saveListIfNotExist(list); } catch (Exception e) { @@ -552,7 +553,6 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen internacionalizacaoList.add(new Internacionalizacao("ECM.MSG_HISTORICO_ECM.RESTAURACAO_VERSAO_DOCUMENTO", "Restauração de uma versão do documento", dominio, modulo)); internacionalizacaoList.add(new Internacionalizacao("ECM.MSG_HISTORICO_ECM.CONCLUSAO_PROCESSO_UNIDADE", "Conclusão do Processo na Unidade", dominio, modulo)); internacionalizacaoList.add(new Internacionalizacao("ECM.MSG_HISTORICO_ECM.CANCELAR_DOCUMENTO", "Cancelar Documentos", dominio, modulo)); - internacionalizacaoList.add(new Internacionalizacao("ECM.MSG_HISTORICO_ECM.REABRIR_PROCESSO", "Reabrir Processo", dominio, modulo)); internacionalizacaoList.add(new Internacionalizacao("ECM.MSG_HISTORICO_ECM.ENVIO_PROCESSO", "Envio de processo para outra unidade", dominio, modulo)); internacionalizacaoList.add(new Internacionalizacao("ECM.MSG_HISTORICO_ECM.JUSTIFICATIVA_ACAO_PROCESSO", "Justificativa", dominio, modulo)); internacionalizacaoList.add(new Internacionalizacao("ECM.MSG.SUBSTITUIR_VERSAO_DOCUMENTO", "Confirma substituir a versão do documento?", dominio, modulo)); @@ -593,6 +593,7 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen internacionalizacaoList.add(new Internacionalizacao("ECM.MSG.DOCUMENTO_JA_ASSINADO", "Documento já foi assinado por este usuário!", dominio, modulo)); internacionalizacaoList.add(new Internacionalizacao("ECM.MSG.INFORMACAO_RESTRITA", "Informação restrita", dominio, modulo)); internacionalizacaoList.add(new Internacionalizacao("ECM.MSG.CONFIRMAR_ASSINATURA", "Deseja realmente assinar este documento? Após esta ação, não será possível cancelar!", dominio, modulo)); + internacionalizacaoList.add(new Internacionalizacao("ECM.MSG_HISTORICO_ECM.REABERTURA_DE_PROCESSO", "Reabertura de processo", dominio, modulo)); } } diff --git a/cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/ReabrirProcessoController.js b/cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/ReabrirProcessoController.js index c866596..f4c71ea 100644 --- a/cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/ReabrirProcessoController.js +++ b/cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/ReabrirProcessoController.js @@ -53,6 +53,8 @@ citApp.controller('ReabrirProcessoController', ['$scope', 'ReabrirProcessoReposi $scope.showAlert("success", $translate.instant('MSG.REGISTRO_SALVO')); $scope.reabrirProcessoForm.$submitted = false; $scope.setLoading(false); + $scope.atualizaPaginaPesquisa(); + }); }else{ @@ -70,8 +72,7 @@ citApp.controller('ReabrirProcessoController', ['$scope', 'ReabrirProcessoReposi $scope.findAutoCompleteProcesso = function(value){ - return ProcessoRepository.findAutoComplete('nup', value).then(function(result) { - + return ProcessoRepository.findAutoComplete('nup', value).then(function(result) { return result; }); diff --git a/cit-ecm-web/src/main/webapp/assets/js/angular/custom/repository/ReabrirProcessoRepository.js b/cit-ecm-web/src/main/webapp/assets/js/angular/custom/repository/ReabrirProcessoRepository.js index 327d209..01a8adb 100644 --- a/cit-ecm-web/src/main/webapp/assets/js/angular/custom/repository/ReabrirProcessoRepository.js +++ b/cit-ecm-web/src/main/webapp/assets/js/angular/custom/repository/ReabrirProcessoRepository.js @@ -5,6 +5,11 @@ citApp.factory('ReabrirProcessoRepository', ['RestangularEcm', 'AbstractReposito function ReabrirProcessoRepository() { AbstractRepository.call(this, restangularEcm, 'rest/reabrirProcesso'); + this.findSolicitacaoEmAberto = function (){ + return restangularEcm.one(this.route + '/findSolicitacaoEmAberto').get().then(); + + }; + } AbstractRepository.extend(ReabrirProcessoRepository); diff --git a/cit-ecm-web/src/main/webapp/html/reabrirProcesso/reabrirProcessoEdit.html b/cit-ecm-web/src/main/webapp/html/reabrirProcesso/reabrirProcessoEdit.html index 17bc6f1..2bac6db 100644 --- a/cit-ecm-web/src/main/webapp/html/reabrirProcesso/reabrirProcessoEdit.html +++ b/cit-ecm-web/src/main/webapp/html/reabrirProcesso/reabrirProcessoEdit.html @@ -64,14 +64,14 @@
-
-
diff --git a/cit-ecm-web/src/main/webapp/html/reabrirProcesso/reabrirProcessoList.html b/cit-ecm-web/src/main/webapp/html/reabrirProcesso/reabrirProcessoList.html index b4d9465..d6bd7bc 100644 --- a/cit-ecm-web/src/main/webapp/html/reabrirProcesso/reabrirProcessoList.html +++ b/cit-ecm-web/src/main/webapp/html/reabrirProcesso/reabrirProcessoList.html @@ -1,4 +1,4 @@ -
+
@@ -9,8 +9,8 @@ -- libgit2 0.21.2