Commit 59527fab0d29ddaa9fff4dfb809a64802d263ab1

Authored by maycon.silva
1 parent fbcb9b03
Exists in master

Redmine #285Reabertura de Processo

cit-ecm-api/src/main/java/br/com/centralit/api/dao/ReabrirProcessoDao.java
1 package br.com.centralit.api.dao; 1 package br.com.centralit.api.dao;
2 2
  3 +import java.util.Collection;
  4 +
  5 +import br.com.centralit.api.model.ReabrirProcesso;
3 import br.com.centralit.framework.dao.arquitetura.CitGenericDAO; 6 import br.com.centralit.framework.dao.arquitetura.CitGenericDAO;
4 7
5 8
@@ -25,4 +28,17 @@ import br.com.centralit.framework.dao.arquitetura.CitGenericDAO; @@ -25,4 +28,17 @@ import br.com.centralit.framework.dao.arquitetura.CitGenericDAO;
25 */ 28 */
26 public interface ReabrirProcessoDao extends CitGenericDAO { 29 public interface ReabrirProcessoDao extends CitGenericDAO {
27 30
  31 + /**
  32 + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p>
  33 + *
  34 + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>
  35 + *
  36 + * Método responsável por
  37 + *
  38 + * @author maycon.silva
  39 + *
  40 + * @return
  41 + */
  42 + Collection<ReabrirProcesso> findSolicitacaoEmAberto();
  43 +
28 } 44 }
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 @@ -299,17 +299,21 @@ public class ProcessoDaoHibernate extends CitGenericDAOImpl implements ProcessoD
299 @Override 299 @Override
300 public Collection<Processo> autoCompleteProcessoConcluidoByNup(String nup) { 300 public Collection<Processo> autoCompleteProcessoConcluidoByNup(String nup) {
301 301
302 - Search search = new SearchSeven(this.persistentClass); 302 + Criteria criteriaProcesso = this.newCriteria(Processo.class);
303 303
304 - search.addFilterOr(Filter.ilike("nup", "%" + nup + "%"), Filter.ilike("nup", "%" + nup + "%"));  
305 -  
306 - search.addFilterEqual("status.codigo", 1L); 304 + criteriaProcesso.add(Restrictions.ilike("nup", "%" + nup + "%"));
307 305
308 - search.addSortDesc("id"); 306 + criteriaProcesso.createAlias("status", "status", JoinType.LEFT_OUTER_JOIN);
309 307
310 - search.setMaxResults(10); 308 + criteriaProcesso.add(Restrictions.eq("status.codigo", 1L));
311 309
312 - return this.search(search); 310 + this.filterProcessoPermissaoUsuario(criteriaProcesso);
  311 +
  312 + criteriaProcesso.addOrder(Order.desc("id"));
  313 +
  314 + criteriaProcesso.setMaxResults(10);
  315 +
  316 + return criteriaProcesso.list();
313 } 317 }
314 318
315 @Override 319 @Override
cit-ecm-api/src/main/java/br/com/centralit/api/dao/impl/ReabrirProcessoDaoHibernate.java
1 package br.com.centralit.api.dao.impl; 1 package br.com.centralit.api.dao.impl;
2 2
  3 +import java.util.Collection;
  4 +
3 import org.springframework.stereotype.Repository; 5 import org.springframework.stereotype.Repository;
4 6
  7 +import com.googlecode.genericdao.search.Filter;
  8 +
5 import br.com.centralit.api.dao.ReabrirProcessoDao; 9 import br.com.centralit.api.dao.ReabrirProcessoDao;
6 import br.com.centralit.api.model.ReabrirProcesso; 10 import br.com.centralit.api.model.ReabrirProcesso;
7 import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl; 11 import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl;
  12 +import br.com.centralit.framework.dao.arquitetura.SearchSeven;
8 13
9 14
10 /** 15 /**
@@ -38,4 +43,17 @@ public class ReabrirProcessoDaoHibernate extends CitGenericDAOImpl implements Re @@ -38,4 +43,17 @@ public class ReabrirProcessoDaoHibernate extends CitGenericDAOImpl implements Re
38 super(ReabrirProcesso.class); 43 super(ReabrirProcesso.class);
39 } 44 }
40 45
  46 + @Override
  47 + public Collection<ReabrirProcesso> findSolicitacaoEmAberto() {
  48 +
  49 + SearchSeven searchSeven = new SearchSeven();
  50 +
  51 + searchSeven.addFilter(Filter.equal("validado", false));
  52 +
  53 + return super.search(searchSeven);
  54 +
  55 + }
  56 +
  57 +
  58 +
41 } 59 }
cit-ecm-api/src/main/java/br/com/centralit/api/model/AcaoHistoricoAlteracaoProcesso.java
@@ -76,6 +76,10 @@ public class AcaoHistoricoAlteracaoProcesso extends PersistentObject { @@ -76,6 +76,10 @@ public class AcaoHistoricoAlteracaoProcesso extends PersistentObject {
76 public static String INCLUSAO_PROCESSO_ACAO = "Inclusão do processo"; 76 public static String INCLUSAO_PROCESSO_ACAO = "Inclusão do processo";
77 public static String INCLUSAO_PROCESSO_CHAVE = "INCLUSAO_PROCESSO"; 77 public static String INCLUSAO_PROCESSO_CHAVE = "INCLUSAO_PROCESSO";
78 78
  79 + public static String REABERTURA_DE_PROCESSO_DESCRICAO = "Processo <<protocolo>> reaberto.";
  80 + public static String REABERTURA_DE_PROCESSO_ACAO = "Reabertura de processo";
  81 + public static String REABERTURA_DE_PROCESSO_CHAVE = "REABERTURA_DE_PROCESSO";
  82 +
79 83
80 public AcaoHistoricoAlteracaoProcesso() { 84 public AcaoHistoricoAlteracaoProcesso() {
81 85
cit-ecm-api/src/main/java/br/com/centralit/api/model/ReabrirProcesso.java
@@ -75,6 +75,7 @@ public class ReabrirProcesso extends PersistentObjectUnidade { @@ -75,6 +75,7 @@ public class ReabrirProcesso extends PersistentObjectUnidade {
75 private Dominio status; 75 private Dominio status;
76 76
77 @Transient 77 @Transient
  78 + @JsonView({ Views.ReabrirProcessoListView.class})
78 private boolean validado; 79 private boolean validado;
79 80
80 81
@@ -192,7 +193,6 @@ public class ReabrirProcesso extends PersistentObjectUnidade { @@ -192,7 +193,6 @@ public class ReabrirProcesso extends PersistentObjectUnidade {
192 * 193 *
193 * @return <code>boolean</code> 194 * @return <code>boolean</code>
194 */ 195 */
195 - @JsonView({ Views.ReabrirProcessoListView.class})  
196 public boolean isValidado() { 196 public boolean isValidado() {
197 197
198 return validado; 198 return validado;
cit-ecm-api/src/main/java/br/com/centralit/api/service/HistoricoAlteracaoProcessoService.java
@@ -6,6 +6,7 @@ import br.com.centralit.api.model.Assinatura; @@ -6,6 +6,7 @@ import br.com.centralit.api.model.Assinatura;
6 import br.com.centralit.api.model.HistoricoAlteracaoProcesso; 6 import br.com.centralit.api.model.HistoricoAlteracaoProcesso;
7 import br.com.centralit.api.model.Processo; 7 import br.com.centralit.api.model.Processo;
8 import br.com.centralit.api.model.UnidadeProcesso; 8 import br.com.centralit.api.model.UnidadeProcesso;
  9 +import br.com.centralit.framework.model.Unidade;
9 import br.com.centralit.framework.service.arquitetura.GenericService; 10 import br.com.centralit.framework.service.arquitetura.GenericService;
10 11
11 /** 12 /**
@@ -133,4 +134,13 @@ public interface HistoricoAlteracaoProcessoService extends GenericService&lt;Histor @@ -133,4 +134,13 @@ public interface HistoricoAlteracaoProcessoService extends GenericService&lt;Histor
133 * @param unidadeProcesso 134 * @param unidadeProcesso
134 */ 135 */
135 void gerarHistoricoCapturaDeProcesso(UnidadeProcesso unidadeProcesso); 136 void gerarHistoricoCapturaDeProcesso(UnidadeProcesso unidadeProcesso);
  137 +
  138 + /** *
  139 + * Método responsável por gerar historico de reabertura do processo
  140 + *
  141 + * @author maycon.silva
  142 + *
  143 + * @param processo
  144 + */
  145 + void gerarHistoricoReaberturProcesso(Processo processo, Unidade unidade);
136 } 146 }
cit-ecm-api/src/main/java/br/com/centralit/api/service/ReabrirProcessoService.java
1 package br.com.centralit.api.service; 1 package br.com.centralit.api.service;
2 2
  3 +import java.util.Collection;
  4 +
3 import br.com.centralit.api.model.ReabrirProcesso; 5 import br.com.centralit.api.model.ReabrirProcesso;
4 import br.com.centralit.framework.service.arquitetura.GenericService; 6 import br.com.centralit.framework.service.arquitetura.GenericService;
5 7
@@ -25,5 +27,18 @@ import br.com.centralit.framework.service.arquitetura.GenericService; @@ -25,5 +27,18 @@ import br.com.centralit.framework.service.arquitetura.GenericService;
25 * 27 *
26 */ 28 */
27 public interface ReabrirProcessoService extends GenericService<ReabrirProcesso, Long> { 29 public interface ReabrirProcessoService extends GenericService<ReabrirProcesso, Long> {
  30 +
  31 + /**
  32 + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p>
  33 + *
  34 + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>
  35 + *
  36 + * Método responsável por
  37 + *
  38 + * @author maycon.silva
  39 + *
  40 + * @return
  41 + */
  42 + Collection<ReabrirProcesso> findSolicitacaoEmAberto();
28 43
29 } 44 }
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; @@ -20,6 +20,7 @@ import br.com.centralit.api.model.UnidadeProcesso;
20 import br.com.centralit.api.service.AcaoHistoricoAlteracaoProcessoService; 20 import br.com.centralit.api.service.AcaoHistoricoAlteracaoProcessoService;
21 import br.com.centralit.api.service.HistoricoAlteracaoProcessoService; 21 import br.com.centralit.api.service.HistoricoAlteracaoProcessoService;
22 import br.com.centralit.api.service.ProcessoService; 22 import br.com.centralit.api.service.ProcessoService;
  23 +import br.com.centralit.framework.model.Unidade;
23 import br.com.centralit.framework.model.Usuario; 24 import br.com.centralit.framework.model.Usuario;
24 import br.com.centralit.framework.service.arquitetura.GenericServiceImpl; 25 import br.com.centralit.framework.service.arquitetura.GenericServiceImpl;
25 import br.com.centralit.framework.util.UtilObjeto; 26 import br.com.centralit.framework.util.UtilObjeto;
@@ -312,4 +313,25 @@ public class HistoricoAlteracaoProcessoServiceImpl extends GenericServiceImpl&lt;Hi @@ -312,4 +313,25 @@ public class HistoricoAlteracaoProcessoServiceImpl extends GenericServiceImpl&lt;Hi
312 313
313 this.saveWithParams(hap); 314 this.saveWithParams(hap);
314 } 315 }
  316 +
  317 + public void gerarHistoricoReaberturProcesso(Processo processo, Unidade unidade){
  318 +
  319 + Usuario usuario = (Usuario) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
  320 + Map<String, String> mapaAtributos = new HashMap<String, String>();
  321 + mapaAtributos.put("protocolo", processo.getNup());
  322 + mapaAtributos.put("unidade", unidade.getSigla());
  323 +
  324 + HistoricoAlteracaoProcesso hap = new HistoricoAlteracaoProcesso(
  325 + processo,
  326 + Calendar.getInstance(),
  327 + usuario.getUnidade().getNome(),
  328 + usuario.getUsername(),
  329 + null,
  330 + AcaoHistoricoAlteracaoProcesso.REABERTURA_DE_PROCESSO_DESCRICAO,
  331 + AcaoHistoricoAlteracaoProcesso.REABERTURA_DE_PROCESSO_CHAVE, null, mapaAtributos);
  332 + hap.setAutor(usuario);
  333 +
  334 + this.saveWithParams(hap);
  335 +
  336 + }
315 } 337 }
cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/ProcessoServiceImpl.java
@@ -1246,11 +1246,17 @@ public class ProcessoServiceImpl extends GenericServiceImpl&lt;Processo, Long&gt; impl @@ -1246,11 +1246,17 @@ public class ProcessoServiceImpl extends GenericServiceImpl&lt;Processo, Long&gt; impl
1246 1246
1247 final List<EnvironmentVariable> variaveis = new ArrayList<EnvironmentVariable>(); 1247 final List<EnvironmentVariable> variaveis = new ArrayList<EnvironmentVariable>();
1248 1248
1249 - processoReabertura.setStatus(this.dominioService.findByChaveAndCodigo("statusProcesso", 1L)); 1249 + processoReabertura.setStatus(this.dominioService.findByChaveAndCodigo("statusProcesso", 2L));
  1250 +
  1251 + UnidadeProcesso unidadeProcesso = unidadeProcessoService.obterPorUnidadeEProcesso(processoReabertura.getId(), unidade.getId());
  1252 +
  1253 + unidadeProcesso.setConcluido(false);
1250 1254
1251 variaveis.add(new EnvironmentVariable("grupoPadrao", VariableTypeEnum.TEXT, unidadeReabertura.getGrupo().getSigla(), false)); 1255 variaveis.add(new EnvironmentVariable("grupoPadrao", VariableTypeEnum.TEXT, unidadeReabertura.getGrupo().getSigla(), false));
1252 1256
1253 - reopenProcessInstance(processoReabertura.getIdProcessInstance(), variaveis); 1257 + reopenProcessInstance(processoReabertura.getIdProcessInstance(), variaveis);
  1258 +
  1259 + historicoAlteracaoProcessoService.gerarHistoricoReaberturProcesso(processo, unidade);
1254 } 1260 }
1255 1261
1256 /** 1262 /**
cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/ReabrirProcessoServiceImpl.java
1 package br.com.centralit.api.service.impl; 1 package br.com.centralit.api.service.impl;
2 2
3 import java.util.ArrayList; 3 import java.util.ArrayList;
  4 +import java.util.Collection;
4 import java.util.LinkedList; 5 import java.util.LinkedList;
5 6
6 import org.springframework.beans.factory.annotation.Autowired; 7 import org.springframework.beans.factory.annotation.Autowired;
@@ -9,6 +10,7 @@ import org.springframework.stereotype.Service; @@ -9,6 +10,7 @@ import org.springframework.stereotype.Service;
9 import br.com.centralit.api.dao.ReabrirProcessoDao; 10 import br.com.centralit.api.dao.ReabrirProcessoDao;
10 import br.com.centralit.api.model.ReabrirProcesso; 11 import br.com.centralit.api.model.ReabrirProcesso;
11 import br.com.centralit.api.service.DominioService; 12 import br.com.centralit.api.service.DominioService;
  13 +import br.com.centralit.api.service.GrupoService;
12 import br.com.centralit.api.service.NotificacaoService; 14 import br.com.centralit.api.service.NotificacaoService;
13 import br.com.centralit.api.service.ProcessoService; 15 import br.com.centralit.api.service.ProcessoService;
14 import br.com.centralit.api.service.ReabrirProcessoService; 16 import br.com.centralit.api.service.ReabrirProcessoService;
@@ -16,9 +18,12 @@ import br.com.centralit.api.service.TemporalidadeService; @@ -16,9 +18,12 @@ import br.com.centralit.api.service.TemporalidadeService;
16 import br.com.centralit.api.service.UnidadeProcessoService; 18 import br.com.centralit.api.service.UnidadeProcessoService;
17 import br.com.centralit.api.service.UnidadeService; 19 import br.com.centralit.api.service.UnidadeService;
18 import br.com.centralit.framework.model.Dominio; 20 import br.com.centralit.framework.model.Dominio;
  21 +import br.com.centralit.framework.model.Grupo;
19 import br.com.centralit.framework.model.Notificacao; 22 import br.com.centralit.framework.model.Notificacao;
  23 +import br.com.centralit.framework.model.NotificacaoGrupo;
20 import br.com.centralit.framework.model.NotificacaoUsuario; 24 import br.com.centralit.framework.model.NotificacaoUsuario;
21 import br.com.centralit.framework.service.arquitetura.GenericServiceImpl; 25 import br.com.centralit.framework.service.arquitetura.GenericServiceImpl;
  26 +import br.com.centralit.framework.util.UtilColecao;
22 27
23 /** 28 /**
24 * <p> 29 * <p>
@@ -55,6 +60,10 @@ import br.com.centralit.framework.service.arquitetura.GenericServiceImpl; @@ -55,6 +60,10 @@ import br.com.centralit.framework.service.arquitetura.GenericServiceImpl;
55 @Service("reabrirProcessoServiceImpl") 60 @Service("reabrirProcessoServiceImpl")
56 public class ReabrirProcessoServiceImpl extends GenericServiceImpl<ReabrirProcesso, Long> implements ReabrirProcessoService { 61 public class ReabrirProcessoServiceImpl extends GenericServiceImpl<ReabrirProcesso, Long> implements ReabrirProcessoService {
57 62
  63 + private static final String SOLICITAÇÃO_DE_REABERTURA = "Solicitação de Reabertura";
  64 +
  65 + private static final String PROTOCOLO = "PROTOCOLO";
  66 +
58 /** Atributo reabrirProcessoDao. */ 67 /** Atributo reabrirProcessoDao. */
59 private ReabrirProcessoDao reabrirProcessoDao; 68 private ReabrirProcessoDao reabrirProcessoDao;
60 69
@@ -76,6 +85,10 @@ public class ReabrirProcessoServiceImpl extends GenericServiceImpl&lt;ReabrirProces @@ -76,6 +85,10 @@ public class ReabrirProcessoServiceImpl extends GenericServiceImpl&lt;ReabrirProces
76 @Autowired 85 @Autowired
77 private NotificacaoService notificacaoService; 86 private NotificacaoService notificacaoService;
78 87
  88 + /** Atributo grupoService. */
  89 + @Autowired
  90 + private GrupoService grupoService;
  91 +
79 @Autowired 92 @Autowired
80 public ReabrirProcessoServiceImpl( ReabrirProcessoDao reabrirProcessoDao ) { 93 public ReabrirProcessoServiceImpl( ReabrirProcessoDao reabrirProcessoDao ) {
81 94
@@ -94,6 +107,8 @@ public class ReabrirProcessoServiceImpl extends GenericServiceImpl&lt;ReabrirProces @@ -94,6 +107,8 @@ public class ReabrirProcessoServiceImpl extends GenericServiceImpl&lt;ReabrirProces
94 107
95 reabrirProcesso = super.save(reabrirProcesso); 108 reabrirProcesso = super.save(reabrirProcesso);
96 109
  110 + this.enviarNotificacaoReabertura(reabrirProcesso);
  111 +
97 return reabrirProcesso; 112 return reabrirProcesso;
98 } 113 }
99 114
@@ -109,9 +124,11 @@ public class ReabrirProcessoServiceImpl extends GenericServiceImpl&lt;ReabrirProces @@ -109,9 +124,11 @@ public class ReabrirProcessoServiceImpl extends GenericServiceImpl&lt;ReabrirProces
109 if (reabrirProcesso.getStatus().getCodigo().equals(2L)) { 124 if (reabrirProcesso.getStatus().getCodigo().equals(2L)) {
110 125
111 this.processoService.reopenProcessIntance(reabrirProcesso.getProcesso(), reabrirProcesso.getUnidade()); 126 this.processoService.reopenProcessIntance(reabrirProcesso.getProcesso(), reabrirProcesso.getUnidade());
  127 +
  128 +
112 } 129 }
113 130
114 - this.enviarNotificacaoReabertura(reabrirProcesso); 131 + this.enviarNotificacaoStatusReabertura(reabrirProcesso);
115 132
116 } 133 }
117 134
@@ -122,6 +139,37 @@ public class ReabrirProcessoServiceImpl extends GenericServiceImpl&lt;ReabrirProces @@ -122,6 +139,37 @@ public class ReabrirProcessoServiceImpl extends GenericServiceImpl&lt;ReabrirProces
122 139
123 StringBuilder sb = new StringBuilder(); 140 StringBuilder sb = new StringBuilder();
124 141
  142 + sb.append("Foi aberta uma solicitação de reabertura para o proceso ").append(reabrirProcesso.getProcesso().getNup());
  143 +
  144 + Dominio tipoNotificacao = this.dominioService.findByChaveAndCodigo("tipoNotificacao", 4L);
  145 +
  146 + Dominio tipoPrioridade = this.dominioService.findByChaveAndCodigo("tipoPrioridade", 2L);
  147 +
  148 + Notificacao notificacao = new Notificacao(SOLICITAÇÃO_DE_REABERTURA, sb.toString(), tipoNotificacao, tipoPrioridade, null, null, null);
  149 +
  150 + Collection<Grupo> grupos = this.grupoService.findGrupoPorNomePrivilegio(PROTOCOLO);
  151 +
  152 + if (!UtilColecao.isVazio(grupos)) {
  153 +
  154 + notificacao.setNotificacaoGrupos(new LinkedList<NotificacaoGrupo>());
  155 +
  156 + for (Grupo grupo : grupos) {
  157 +
  158 + NotificacaoGrupo notificacaoGrupo = new NotificacaoGrupo(grupo, notificacao);
  159 +
  160 + notificacao.getNotificacaoGrupos().add(notificacaoGrupo);
  161 + }
  162 +
  163 + }
  164 +
  165 + this.notificacaoService.save(notificacao);
  166 +
  167 + }
  168 +
  169 + private void enviarNotificacaoStatusReabertura(ReabrirProcesso reabrirProcesso) {
  170 +
  171 + StringBuilder sb = new StringBuilder();
  172 +
125 sb.append("A sua solicitação de reabertura para o proceso ").append(reabrirProcesso.getProcesso().getNup()).append(" foi "); 173 sb.append("A sua solicitação de reabertura para o proceso ").append(reabrirProcesso.getProcesso().getNup()).append(" foi ");
126 174
127 if (reabrirProcesso.getStatus().getCodigo().equals(2L)) { 175 if (reabrirProcesso.getStatus().getCodigo().equals(2L)) {
@@ -147,5 +195,9 @@ public class ReabrirProcessoServiceImpl extends GenericServiceImpl&lt;ReabrirProces @@ -147,5 +195,9 @@ public class ReabrirProcessoServiceImpl extends GenericServiceImpl&lt;ReabrirProces
147 195
148 this.notificacaoService.save(notificacao); 196 this.notificacaoService.save(notificacao);
149 } 197 }
  198 +
  199 + public Collection<ReabrirProcesso> findSolicitacaoEmAberto(){
  200 + return reabrirProcessoDao.findSolicitacaoEmAberto();
  201 + }
150 202
151 } 203 }
cit-ecm-web/src/main/java/br/com/centralit/controller/ReabrirProcessoController.java
1 package br.com.centralit.controller; 1 package br.com.centralit.controller;
2 2
  3 +import java.util.Collection;
  4 +
3 import org.springframework.beans.factory.annotation.Autowired; 5 import org.springframework.beans.factory.annotation.Autowired;
4 import org.springframework.stereotype.Controller; 6 import org.springframework.stereotype.Controller;
5 import org.springframework.web.bind.annotation.RequestMapping; 7 import org.springframework.web.bind.annotation.RequestMapping;
  8 +import org.springframework.web.bind.annotation.RequestMethod;
  9 +import org.springframework.web.bind.annotation.RequestParam;
  10 +import org.springframework.web.bind.annotation.ResponseBody;
6 11
7 import br.com.centralit.api.framework.json.ViewsEcm; 12 import br.com.centralit.api.framework.json.ViewsEcm;
  13 +import br.com.centralit.api.model.Processo;
8 import br.com.centralit.api.model.ReabrirProcesso; 14 import br.com.centralit.api.model.ReabrirProcesso;
9 import br.com.centralit.api.service.ReabrirProcessoService; 15 import br.com.centralit.api.service.ReabrirProcessoService;
10 import br.com.centralit.framework.controller.GenericController; 16 import br.com.centralit.framework.controller.GenericController;
  17 +import br.com.centralit.framework.json.ResponseBodyWrapper;
  18 +import br.com.centralit.framework.view.ResultResponseVH;
11 19
12 /** 20 /**
13 * <p><img src="http://centralit.com.br/images/logo_central.png"></p> 21 * <p><img src="http://centralit.com.br/images/logo_central.png"></p>
@@ -48,6 +56,19 @@ public class ReabrirProcessoController extends GenericController&lt;ReabrirProcesso @@ -48,6 +56,19 @@ public class ReabrirProcessoController extends GenericController&lt;ReabrirProcesso
48 56
49 this.reabrirProcessoService = reabrirProcessoService; 57 this.reabrirProcessoService = reabrirProcessoService;
50 } 58 }
  59 +
  60 + @RequestMapping(value = "/findSolicitacaoEmAberto", method = RequestMethod.GET, produces = "application/json")
  61 + @ResponseBody
  62 + public ResponseBodyWrapper findSolicitacaoEmAberto() {
  63 +
  64 + ResultResponseVH<Collection<ReabrirProcesso>> resultResponseVH = new ResultResponseVH<Collection<ReabrirProcesso>>(this.reabrirProcessoService.findSolicitacaoEmAberto());
  65 +
  66 + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(resultResponseVH, getListView());
  67 +
  68 + return responseBody;
  69 + }
  70 +
  71 +
51 72
52 @Override 73 @Override
53 public Class<ViewsEcm.ReabrirProcessoEditView> getEditView() { 74 public Class<ViewsEcm.ReabrirProcessoEditView> getEditView() {
cit-ecm-web/src/main/java/br/com/centralit/listener/StartupListenerEcm.java
@@ -88,7 +88,7 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen @@ -88,7 +88,7 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen
88 */ 88 */
89 private void criarRegraDeAcesso() { 89 private void criarRegraDeAcesso() {
90 90
91 - Privilegio privilegioProtocolo = this.privilegioService.saveIfNotExist(new Privilegio("PROTOCOLO", "Acessa processo finalizados")); 91 + this.privilegioService.saveIfNotExist(new Privilegio("PROTOCOLO", "Acessa processo finalizados"));
92 92
93 Privilegio privilegioReservado = this.privilegioService.saveIfNotExist(new Privilegio("RESERVADO", "Acessa o sigilo reservado")); 93 Privilegio privilegioReservado = this.privilegioService.saveIfNotExist(new Privilegio("RESERVADO", "Acessa o sigilo reservado"));
94 Privilegio privilegioSecreto = this.privilegioService.saveIfNotExist(new Privilegio("SECRETO", "Acessa o sigilo secreto")); 94 Privilegio privilegioSecreto = this.privilegioService.saveIfNotExist(new Privilegio("SECRETO", "Acessa o sigilo secreto"));
@@ -146,7 +146,8 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen @@ -146,7 +146,8 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen
146 list.add(new AcaoHistoricoAlteracaoProcesso("ATUALIZAR_ANDAMENTO_PROCESSO", "Atualização de Andamento do Processo", "Situação do processo alterada para <<situacao>>.")); 146 list.add(new AcaoHistoricoAlteracaoProcesso("ATUALIZAR_ANDAMENTO_PROCESSO", "Atualização de Andamento do Processo", "Situação do processo alterada para <<situacao>>."));
147 list.add(new AcaoHistoricoAlteracaoProcesso("INICIAR_ATRIBUICAO_PROCESSO", "Atribuição do processo", "Processo atribuído a <<usuario>>.")); 147 list.add(new AcaoHistoricoAlteracaoProcesso("INICIAR_ATRIBUICAO_PROCESSO", "Atribuição do processo", "Processo atribuído a <<usuario>>."));
148 list.add(new AcaoHistoricoAlteracaoProcesso("ALTERAR_ATRIBUICAO_PROCESSO", "Atribuição do processo alterada", "Processo atribuído a <<usuario>>.")); 148 list.add(new AcaoHistoricoAlteracaoProcesso("ALTERAR_ATRIBUICAO_PROCESSO", "Atribuição do processo alterada", "Processo atribuído a <<usuario>>."));
149 - 149 + list.add(new AcaoHistoricoAlteracaoProcesso("REABERTURA_DE_PROCESSO", "Reabrir Processo", "Processo reaberto na unidade <<unidade>>."));
  150 +
150 try { 151 try {
151 this.acaoHistoricoAlteracaoProcessoService.saveListIfNotExist(list); 152 this.acaoHistoricoAlteracaoProcessoService.saveListIfNotExist(list);
152 } catch (Exception e) { 153 } catch (Exception e) {
@@ -552,7 +553,6 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen @@ -552,7 +553,6 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen
552 internacionalizacaoList.add(new Internacionalizacao("ECM.MSG_HISTORICO_ECM.RESTAURACAO_VERSAO_DOCUMENTO", "Restauração de uma versão do documento", dominio, modulo)); 553 internacionalizacaoList.add(new Internacionalizacao("ECM.MSG_HISTORICO_ECM.RESTAURACAO_VERSAO_DOCUMENTO", "Restauração de uma versão do documento", dominio, modulo));
553 internacionalizacaoList.add(new Internacionalizacao("ECM.MSG_HISTORICO_ECM.CONCLUSAO_PROCESSO_UNIDADE", "Conclusão do Processo na Unidade", dominio, modulo)); 554 internacionalizacaoList.add(new Internacionalizacao("ECM.MSG_HISTORICO_ECM.CONCLUSAO_PROCESSO_UNIDADE", "Conclusão do Processo na Unidade", dominio, modulo));
554 internacionalizacaoList.add(new Internacionalizacao("ECM.MSG_HISTORICO_ECM.CANCELAR_DOCUMENTO", "Cancelar Documentos", dominio, modulo)); 555 internacionalizacaoList.add(new Internacionalizacao("ECM.MSG_HISTORICO_ECM.CANCELAR_DOCUMENTO", "Cancelar Documentos", dominio, modulo));
555 - internacionalizacaoList.add(new Internacionalizacao("ECM.MSG_HISTORICO_ECM.REABRIR_PROCESSO", "Reabrir Processo", dominio, modulo));  
556 internacionalizacaoList.add(new Internacionalizacao("ECM.MSG_HISTORICO_ECM.ENVIO_PROCESSO", "Envio de processo para outra unidade", dominio, modulo)); 556 internacionalizacaoList.add(new Internacionalizacao("ECM.MSG_HISTORICO_ECM.ENVIO_PROCESSO", "Envio de processo para outra unidade", dominio, modulo));
557 internacionalizacaoList.add(new Internacionalizacao("ECM.MSG_HISTORICO_ECM.JUSTIFICATIVA_ACAO_PROCESSO", "Justificativa", dominio, modulo)); 557 internacionalizacaoList.add(new Internacionalizacao("ECM.MSG_HISTORICO_ECM.JUSTIFICATIVA_ACAO_PROCESSO", "Justificativa", dominio, modulo));
558 internacionalizacaoList.add(new Internacionalizacao("ECM.MSG.SUBSTITUIR_VERSAO_DOCUMENTO", "Confirma substituir a versão do documento?", dominio, modulo)); 558 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 @@ -593,6 +593,7 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen
593 internacionalizacaoList.add(new Internacionalizacao("ECM.MSG.DOCUMENTO_JA_ASSINADO", "Documento já foi assinado por este usuário!", dominio, modulo)); 593 internacionalizacaoList.add(new Internacionalizacao("ECM.MSG.DOCUMENTO_JA_ASSINADO", "Documento já foi assinado por este usuário!", dominio, modulo));
594 internacionalizacaoList.add(new Internacionalizacao("ECM.MSG.INFORMACAO_RESTRITA", "Informação restrita", dominio, modulo)); 594 internacionalizacaoList.add(new Internacionalizacao("ECM.MSG.INFORMACAO_RESTRITA", "Informação restrita", dominio, modulo));
595 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)); 595 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));
  596 + internacionalizacaoList.add(new Internacionalizacao("ECM.MSG_HISTORICO_ECM.REABERTURA_DE_PROCESSO", "Reabertura de processo", dominio, modulo));
596 597
597 } 598 }
598 } 599 }
cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/ReabrirProcessoController.js
@@ -53,6 +53,8 @@ citApp.controller(&#39;ReabrirProcessoController&#39;, [&#39;$scope&#39;, &#39;ReabrirProcessoReposi @@ -53,6 +53,8 @@ citApp.controller(&#39;ReabrirProcessoController&#39;, [&#39;$scope&#39;, &#39;ReabrirProcessoReposi
53 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_SALVO')); 53 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_SALVO'));
54 $scope.reabrirProcessoForm.$submitted = false; 54 $scope.reabrirProcessoForm.$submitted = false;
55 $scope.setLoading(false); 55 $scope.setLoading(false);
  56 + $scope.atualizaPaginaPesquisa();
  57 +
56 }); 58 });
57 59
58 }else{ 60 }else{
@@ -70,8 +72,7 @@ citApp.controller(&#39;ReabrirProcessoController&#39;, [&#39;$scope&#39;, &#39;ReabrirProcessoReposi @@ -70,8 +72,7 @@ citApp.controller(&#39;ReabrirProcessoController&#39;, [&#39;$scope&#39;, &#39;ReabrirProcessoReposi
70 72
71 $scope.findAutoCompleteProcesso = function(value){ 73 $scope.findAutoCompleteProcesso = function(value){
72 74
73 - return ProcessoRepository.findAutoComplete('nup', value).then(function(result) {  
74 - 75 + return ProcessoRepository.findAutoComplete('nup', value).then(function(result) {
75 return result; 76 return result;
76 77
77 }); 78 });
cit-ecm-web/src/main/webapp/assets/js/angular/custom/repository/ReabrirProcessoRepository.js
@@ -5,6 +5,11 @@ citApp.factory(&#39;ReabrirProcessoRepository&#39;, [&#39;RestangularEcm&#39;, &#39;AbstractReposito @@ -5,6 +5,11 @@ citApp.factory(&#39;ReabrirProcessoRepository&#39;, [&#39;RestangularEcm&#39;, &#39;AbstractReposito
5 function ReabrirProcessoRepository() { 5 function ReabrirProcessoRepository() {
6 AbstractRepository.call(this, restangularEcm, 'rest/reabrirProcesso'); 6 AbstractRepository.call(this, restangularEcm, 'rest/reabrirProcesso');
7 7
  8 + this.findSolicitacaoEmAberto = function (){
  9 + return restangularEcm.one(this.route + '/findSolicitacaoEmAberto').get().then();
  10 +
  11 + };
  12 +
8 } 13 }
9 14
10 AbstractRepository.extend(ReabrirProcessoRepository); 15 AbstractRepository.extend(ReabrirProcessoRepository);
cit-ecm-web/src/main/webapp/html/reabrirProcesso/reabrirProcessoEdit.html
@@ -64,14 +64,14 @@ @@ -64,14 +64,14 @@
64 64
65 <div class="row" ng-if="reabrirProcesso.id"> 65 <div class="row" ng-if="reabrirProcesso.id">
66 <div class="col-md-4"> 66 <div class="col-md-4">
67 - <label-select ng-id="reabrirProcesso.status" ng-model="reabrirProcesso.status" ng-label="ECM.LABEL.STATUS" ng-obrigatorio='reabrirProcesso.id' form="reabrirProcessoForm" ng-list="statusList" 67 + <label-select ng-id="reabrirProcesso.status" ng-model="reabrirProcesso.status" ng-disabled="reabrirProcesso.validado" ng-label="ECM.LABEL.STATUS" ng-obrigatorio='reabrirProcesso.id' form="reabrirProcessoForm" ng-list="statusList"
68 ng-custom-options="dominioStatus.originalElement as dominioStatus.descricao for dominioStatus" track-by="track by dominioStatus.id" ng-disabled='!edit && reabrirProcesso.id'> </label-select> 68 ng-custom-options="dominioStatus.originalElement as dominioStatus.descricao for dominioStatus" track-by="track by dominioStatus.id" ng-disabled='!edit && reabrirProcesso.id'> </label-select>
69 </div> 69 </div>
70 </div> 70 </div>
71 71
72 <div class="row" ng-if="reabrirProcesso.id && reabrirProcesso.status.codigo == 3"> 72 <div class="row" ng-if="reabrirProcesso.id && reabrirProcesso.status.codigo == 3">
73 <div class="col-sm-8"> 73 <div class="col-sm-8">
74 - <label-text-area ng-id="reabrirProcesso.justificativaRejeicao" ng-disabled="!edit && reabrirProcesso.id" ng-typ="text" ng-obrigatorio='!edit && reabrirProcesso.id' ng-label="ECM.LABEL.JUSTIFICATIVAREJEICAO" form='reabrirProcessoForm' ng-model="reabrirProcesso.justificativaRejeicao" 74 + <label-text-area ng-id="reabrirProcesso.justificativaRejeicao" ng-disabled="reabrirProcesso.validado" ng-typ="text" ng-obrigatorio='!edit && reabrirProcesso.id' ng-label="ECM.LABEL.JUSTIFICATIVAREJEICAO" form='reabrirProcessoForm' ng-model="reabrirProcesso.justificativaRejeicao"
75 ng-custom-maxlength='255' /> 75 ng-custom-maxlength='255' />
76 </div> 76 </div>
77 </div> 77 </div>
cit-ecm-web/src/main/webapp/html/reabrirProcesso/reabrirProcessoList.html
1 -<div id="searchProcesso" class="page-content" ng-controller="ReabrirProcessoListController"> 1 +<div id="searchReabrirProcesso" class="page-content" ng-controller="ReabrirProcessoListController">
2 <div class="bar-buttons-action fixed"> 2 <div class="bar-buttons-action fixed">
3 <div class="row"> 3 <div class="row">
4 <div class="col-sm-8 text-left"> 4 <div class="col-sm-8 text-left">
@@ -9,8 +9,8 @@ @@ -9,8 +9,8 @@
9 </button> 9 </button>
10 10
11 <button class="btn btn-clear" ng-click="abrirVisualizar(true);"> 11 <button class="btn btn-clear" ng-click="abrirVisualizar(true);">
12 - <i class="fa fa-times red"></i>  
13 - <translate>ECM.LABEL.REABRIR_PROCESSO</translate> 12 + <i class="fa fa-pencil blue"></i>
  13 + <translate>ECM.LABEL.REABRIR</translate>
14 </button> 14 </button>
15 15
16 <span class="divider-vertical"></span> 16 <span class="divider-vertical"></span>