Commit 5ee9806fc6887fd05f323dd150fccfb84c95dd25

Authored by rogerio.costa
2 parents 8f1cf4ec d7f77322
Exists in master

Merge branch 'desenvolvimento' of http://ferramentasgo.centralit.com.br:8080/scm…

…/git/cit-grp-ecm into desenvolvimento
Showing 30 changed files with 1471 additions and 7 deletions   Show diff stats
cit-ecm-api/src/main/java/br/com/centralit/api/dao/ProcessoDao.java
... ... @@ -194,4 +194,6 @@ public interface ProcessoDao extends CitGenericDAO {
194 194  
195 195 Collection<Processo> autoCompleteProcessoEmAndamentoByNup(String nup);
196 196  
  197 + Collection<Processo> autoCompleteProcessoConcluidoByNup(String nup);
  198 +
197 199 }
... ...
cit-ecm-api/src/main/java/br/com/centralit/api/dao/ReabrirProcessoDao.java 0 → 100644
... ... @@ -0,0 +1,44 @@
  1 +package br.com.centralit.api.dao;
  2 +
  3 +import java.util.Collection;
  4 +
  5 +import br.com.centralit.api.model.ReabrirProcesso;
  6 +import br.com.centralit.framework.dao.arquitetura.CitGenericDAO;
  7 +
  8 +
  9 +/**
  10 + * <p><img src="http://centralit.com.br/images/logo_central.png"></p>
  11 + *
  12 + * <p><b>Company: </b> Central IT - Governança Corporativa - </p>
  13 + *
  14 + * <p><b>Title: </b></p>
  15 + *
  16 + * <p><b>Description: </b></p>
  17 + *
  18 + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p>
  19 + *
  20 + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>
  21 + *
  22 + * @since 01/04/2016 - 19:13:13
  23 + *
  24 + * @version 1.0.0
  25 + *
  26 + * @author maycon.silva
  27 + *
  28 + */
  29 +public interface ReabrirProcessoDao extends CitGenericDAO {
  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 +
  44 +}
... ...
cit-ecm-api/src/main/java/br/com/centralit/api/dao/impl/ProcessoDaoHibernate.java
... ... @@ -293,6 +293,28 @@ public class ProcessoDaoHibernate extends CitGenericDAOImpl implements ProcessoD
293 293 return this.search(search);
294 294  
295 295 }
  296 +
  297 +
  298 +
  299 + @Override
  300 + public Collection<Processo> autoCompleteProcessoConcluidoByNup(String nup) {
  301 +
  302 + Criteria criteriaProcesso = this.newCriteria(Processo.class);
  303 +
  304 + criteriaProcesso.add(Restrictions.ilike("nup", "%" + nup + "%"));
  305 +
  306 + criteriaProcesso.createAlias("status", "status", JoinType.LEFT_OUTER_JOIN);
  307 +
  308 + criteriaProcesso.add(Restrictions.eq("status.codigo", 1L));
  309 +
  310 + this.filterProcessoPermissaoUsuario(criteriaProcesso);
  311 +
  312 + criteriaProcesso.addOrder(Order.desc("id"));
  313 +
  314 + criteriaProcesso.setMaxResults(10);
  315 +
  316 + return criteriaProcesso.list();
  317 + }
296 318  
297 319 @Override
298 320 public Collection<Processo> autoCompleteProcessoEmAndamentoByNup(String nup) {
... ...
cit-ecm-api/src/main/java/br/com/centralit/api/dao/impl/ReabrirProcessoDaoHibernate.java 0 → 100644
... ... @@ -0,0 +1,59 @@
  1 +package br.com.centralit.api.dao.impl;
  2 +
  3 +import java.util.Collection;
  4 +
  5 +import org.springframework.stereotype.Repository;
  6 +
  7 +import com.googlecode.genericdao.search.Filter;
  8 +
  9 +import br.com.centralit.api.dao.ReabrirProcessoDao;
  10 +import br.com.centralit.api.model.ReabrirProcesso;
  11 +import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl;
  12 +import br.com.centralit.framework.dao.arquitetura.SearchSeven;
  13 +
  14 +
  15 +/**
  16 + * <p><img src="http://centralit.com.br/images/logo_central.png"></p>
  17 + *
  18 + * <p><b>Company: </b> Central IT - Governança Corporativa - </p>
  19 + *
  20 + * <p><b>Title: </b></p>
  21 + *
  22 + * <p><b>Description: </b></p>
  23 + *
  24 + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p>
  25 + *
  26 + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>
  27 + *
  28 + * @since 01/04/2016 - 19:13:47
  29 + *
  30 + * @version 1.0.0
  31 + *
  32 + * @author maycon.silva
  33 + *
  34 + */
  35 +@Repository("reabrirProcessoDao")
  36 +public class ReabrirProcessoDaoHibernate extends CitGenericDAOImpl implements ReabrirProcessoDao{
  37 +
  38 + /**
  39 + * Responsável pela criação de novas instâncias desta classe.
  40 + */
  41 + public ReabrirProcessoDaoHibernate() {
  42 +
  43 + super(ReabrirProcesso.class);
  44 + }
  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 +
  59 +}
... ...
cit-ecm-api/src/main/java/br/com/centralit/api/framework/json/ViewsEcm.java
... ... @@ -112,4 +112,8 @@ public class ViewsEcm extends Views {
112 112  
113 113 public static class MetadadoProcessoView extends Views.GenericView{};
114 114  
  115 + public static class ReabrirProcessoListView extends Views.GenericView{};
  116 +
  117 + public static class ReabrirProcessoEditView extends Views.ReabrirProcessoListView{}
  118 +
115 119 }
... ...
cit-ecm-api/src/main/java/br/com/centralit/api/model/AcaoHistoricoAlteracaoProcesso.java
... ... @@ -76,6 +76,10 @@ public class AcaoHistoricoAlteracaoProcesso extends PersistentObject {
76 76 public static String INCLUSAO_PROCESSO_ACAO = "Inclusão do processo";
77 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 84 public AcaoHistoricoAlteracaoProcesso() {
81 85  
... ...
cit-ecm-api/src/main/java/br/com/centralit/api/model/Processo.java
... ... @@ -101,7 +101,7 @@ public class Processo extends PersistentObjectUnidade {
101 101 private Calendar dataConclusao;
102 102  
103 103 /** Atributo nup. */
104   - @JsonView({ Views.ProcessoList.class, Views.ProcessoRelacionadoList.class, Views.AnexarProcesso.class, Views.ProcessoAutoCompleteView.class, Views.UnidadeProcessoListView.class, ViewsEcm.MetadadoProcessoView.class, Views.ProcessoVHView.class })
  104 + @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})
105 105 private String nup;
106 106  
107 107 /** Atributo nome. */
... ...
cit-ecm-api/src/main/java/br/com/centralit/api/model/ReabrirProcesso.java 0 → 100644
... ... @@ -0,0 +1,212 @@
  1 +package br.com.centralit.api.model;
  2 +
  3 +import javax.persistence.Entity;
  4 +import javax.persistence.FetchType;
  5 +import javax.persistence.GeneratedValue;
  6 +import javax.persistence.GenerationType;
  7 +import javax.persistence.Id;
  8 +import javax.persistence.ManyToOne;
  9 +import javax.persistence.Transient;
  10 +
  11 +import br.com.centralit.framework.json.Views;
  12 +import br.com.centralit.framework.model.Dominio;
  13 +
  14 +import com.fasterxml.jackson.annotation.JsonView;
  15 +
  16 +/**
  17 + * <p>
  18 + * <img src="http://centralit.com.br/images/logo_central.png">
  19 + * </p>
  20 + *
  21 + * <p>
  22 + * <b>Company: </b> Central IT - Governança Corporativa -
  23 + * </p>
  24 + *
  25 + * <p>
  26 + * <b>Title: </b>
  27 + * </p>
  28 + *
  29 + * <p>
  30 + * <b>Description: </b>
  31 + * </p>
  32 + *
  33 + * <p>
  34 + * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>
  35 + * </p>
  36 + *
  37 + * <p>
  38 + * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
  39 + * </p>
  40 + *
  41 + * @since 01/04/2016 - 19:15:01
  42 + *
  43 + * @version 1.0.0
  44 + *
  45 + * @author maycon.silva
  46 + *
  47 + */
  48 +@Entity
  49 +public class ReabrirProcesso extends PersistentObjectUnidade {
  50 +
  51 + /** Atributo serialVersionUID. */
  52 + private static final long serialVersionUID = 4660153373227383621L;
  53 +
  54 + /** Atributo id. */
  55 + @Id
  56 + @GeneratedValue(strategy = GenerationType.AUTO)
  57 + @JsonView({ Views.GenericView.class })
  58 + private Long id;
  59 +
  60 + /** Atributo justificativa. */
  61 + @JsonView({ Views.ReabrirProcessoListView.class })
  62 + private String justificativaSolicitacao;
  63 +
  64 + /** Atributo justificativa. */
  65 + @JsonView({ Views.ReabrirProcessoListView.class })
  66 + private String justificativaRejeicao;
  67 +
  68 + @ManyToOne(fetch = FetchType.LAZY, optional = true)
  69 + @JsonView({ Views.ReabrirProcessoListView.class })
  70 + private Processo processo;
  71 +
  72 + /** Atributo status. */
  73 + @ManyToOne(fetch = FetchType.LAZY)
  74 + @JsonView({ Views.ReabrirProcessoListView.class})
  75 + private Dominio status;
  76 +
  77 + @Transient
  78 + @JsonView({ Views.ReabrirProcessoListView.class})
  79 + private boolean validado;
  80 +
  81 +
  82 + /**
  83 + * Retorna o valor do atributo <code>id</code>
  84 + *
  85 + * @return <code>Long</code>
  86 + */
  87 + @Override
  88 + public Long getId() {
  89 +
  90 + return this.id;
  91 + }
  92 +
  93 + /**
  94 + * Define o valor do atributo <code>id</code>.
  95 + *
  96 + * @param id
  97 + */
  98 + public void setId(Long id) {
  99 +
  100 + this.id = id;
  101 + }
  102 +
  103 +
  104 + /**
  105 + * Retorna o valor do atributo <code>processo</code>
  106 + *
  107 + * @return <code>Processo</code>
  108 + */
  109 + public Processo getProcesso() {
  110 +
  111 + return processo;
  112 + }
  113 +
  114 + /**
  115 + * Define o valor do atributo <code>processo</code>.
  116 + *
  117 + * @param processo
  118 + */
  119 + public void setProcesso(Processo processo) {
  120 +
  121 + this.processo = processo;
  122 + }
  123 +
  124 +
  125 + /**
  126 + * Retorna o valor do atributo <code>status</code>
  127 + *
  128 + * @return <code>Dominio</code>
  129 + */
  130 + public Dominio getStatus() {
  131 +
  132 + return status;
  133 + }
  134 +
  135 +
  136 + /**
  137 + * Define o valor do atributo <code>status</code>.
  138 + *
  139 + * @param status
  140 + */
  141 + public void setStatus(Dominio status) {
  142 +
  143 + this.status = status;
  144 + }
  145 +
  146 +
  147 + /**
  148 + * Retorna o valor do atributo <code>justificativaSolicitacao</code>
  149 + *
  150 + * @return <code>String</code>
  151 + */
  152 + public String getJustificativaSolicitacao() {
  153 +
  154 + return justificativaSolicitacao;
  155 + }
  156 +
  157 +
  158 + /**
  159 + * Define o valor do atributo <code>justificativaSolicitacao</code>.
  160 + *
  161 + * @param justificativaSolicitacao
  162 + */
  163 + public void setJustificativaSolicitacao(String justificativaSolicitacao) {
  164 +
  165 + this.justificativaSolicitacao = justificativaSolicitacao;
  166 + }
  167 +
  168 +
  169 + /**
  170 + * Retorna o valor do atributo <code>justificativaRejeicao</code>
  171 + *
  172 + * @return <code>String</code>
  173 + */
  174 + public String getJustificativaRejeicao() {
  175 +
  176 + return justificativaRejeicao;
  177 + }
  178 +
  179 +
  180 + /**
  181 + * Define o valor do atributo <code>justificativaRejeicao</code>.
  182 + *
  183 + * @param justificativaRejeicao
  184 + */
  185 + public void setJustificativaRejeicao(String justificativaRejeicao) {
  186 +
  187 + this.justificativaRejeicao = justificativaRejeicao;
  188 + }
  189 +
  190 +
  191 + /**
  192 + * Retorna o valor do atributo <code>validado</code>
  193 + *
  194 + * @return <code>boolean</code>
  195 + */
  196 + public boolean isValidado() {
  197 +
  198 + return validado;
  199 + }
  200 +
  201 +
  202 + /**
  203 + * Define o valor do atributo <code>validado</code>.
  204 + *
  205 + * @param validado
  206 + */
  207 + public void setValidado(boolean validado) {
  208 +
  209 + this.validado = validado;
  210 + }
  211 +
  212 +}
... ...
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 import br.com.centralit.api.model.HistoricoAlteracaoProcesso;
7 7 import br.com.centralit.api.model.Processo;
8 8 import br.com.centralit.api.model.UnidadeProcesso;
  9 +import br.com.centralit.framework.model.Unidade;
9 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 134 * @param unidadeProcesso
134 135 */
135 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/ProcessoService.java
... ... @@ -5,6 +5,7 @@ import java.util.Collection;
5 5 import br.com.centralit.api.model.PlanoClassificacao;
6 6 import br.com.centralit.api.model.Processo;
7 7 import br.com.centralit.api.viewHelper.ProcessoVH;
  8 +import br.com.centralit.framework.model.Unidade;
8 9 import br.com.centralit.framework.service.arquitetura.GenericService;
9 10  
10 11 import com.googlecode.genericdao.search.ISearch;
... ... @@ -256,5 +257,20 @@ public interface ProcessoService extends GenericService&lt;Processo, Long&gt; {
256 257 * @return
257 258 */
258 259 ProcessoVH getProcessoView(Long id);
  260 +
  261 + /**
  262 + * Método responsável por Reabrir processo BPE para uma unidade
  263 + *
  264 + *O processo será aberto no ponto que final da execução do fluxo
  265 + *
  266 + * @author maycon.silva
  267 + *
  268 + * @param processo
  269 + * @param unidade
  270 + */
  271 + void reopenProcessIntance(Processo processo, Unidade unidade);
  272 +
  273 +
  274 + Collection<Processo> autoCompleteProcessoConcluidoByNup(String nup);
259 275  
260 276 }
... ...
cit-ecm-api/src/main/java/br/com/centralit/api/service/ReabrirProcessoService.java 0 → 100644
... ... @@ -0,0 +1,44 @@
  1 +package br.com.centralit.api.service;
  2 +
  3 +import java.util.Collection;
  4 +
  5 +import br.com.centralit.api.model.ReabrirProcesso;
  6 +import br.com.centralit.framework.service.arquitetura.GenericService;
  7 +
  8 +
  9 +/**
  10 + * <p><img src="http://centralit.com.br/images/logo_central.png"></p>
  11 + *
  12 + * <p><b>Company: </b> Central IT - Governança Corporativa - </p>
  13 + *
  14 + * <p><b>Title: </b></p>
  15 + *
  16 + * <p><b>Description: </b></p>
  17 + *
  18 + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p>
  19 + *
  20 + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>
  21 + *
  22 + * @since 01/04/2016 - 19:09:55
  23 + *
  24 + * @version 1.0.0
  25 + *
  26 + * @author maycon.silva
  27 + *
  28 + */
  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();
  43 +
  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 20 import br.com.centralit.api.service.AcaoHistoricoAlteracaoProcessoService;
21 21 import br.com.centralit.api.service.HistoricoAlteracaoProcessoService;
22 22 import br.com.centralit.api.service.ProcessoService;
  23 +import br.com.centralit.framework.model.Unidade;
23 24 import br.com.centralit.framework.model.Usuario;
24 25 import br.com.centralit.framework.service.arquitetura.GenericServiceImpl;
25 26 import br.com.centralit.framework.util.UtilObjeto;
... ... @@ -312,4 +313,25 @@ public class HistoricoAlteracaoProcessoServiceImpl extends GenericServiceImpl&lt;Hi
312 313  
313 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/InicializarEcmServiceImpl.java
... ... @@ -263,7 +263,23 @@ public class InicializarEcmServiceImpl extends UtilStartup {
263 263 filesGerenciarProcessoListUnidade.add(new MenuFile("/cit-ecm-web/assets/js/angular/custom/controller/GerenciarProcessoListUnidadeController.js", this.dominioJS, menuGerenciarProcessoListUnidade));
264 264 menuGerenciarProcessoListUnidade.setIncludes(filesGerenciarProcessoListUnidade);
265 265 this.menuService.mergeIfNotExist(menuGerenciarProcessoListUnidade);
  266 +
  267 + Pagina pgReabrirProcesso = new Pagina("Reabrir Processo", "/cit-ecm-web/html/reabrirProcesso/reabrirProcesso.html");
  268 + pgReabrirProcesso = this.paginaService.saveIfNotExist(pgReabrirProcesso);
  269 +
  270 + Menu menuReabrirProcesso = new Menu("Reabrir Processo", pgReabrirProcesso, menuProcesso, 2, 7, null, null, null, null, modulo, "REABRIR_PROCESSO");
  271 + menuReabrirProcesso.setIncludes(this.gerarArquivosMenu(menuReabrirProcesso, this.CIT_ECM_WEB_ANGULAR, "ReabrirProcesso", true, true, true));
  272 + this.menuService.mergeIfNotExist(menuReabrirProcesso);
  273 +
  274 +
  275 + Pagina pgSolicitarReaberturaProcesso = new Pagina("Solicitação de Reabertura de Processo", "/cit-ecm-web/html/solicitacaoReaberturaProcesso/solicitacaoReaberturaProcesso.html");
  276 + pgSolicitarReaberturaProcesso = this.paginaService.saveIfNotExist(pgSolicitarReaberturaProcesso);
266 277  
  278 + Menu menuSolicitarReaberturaProcesso = new Menu("Solicitação de Reabertura de Processo", pgSolicitarReaberturaProcesso, menuProcesso, 2, 8, null, null, null, null, modulo, "SOLICITACAO_REABERTURA_PROCESSO");
  279 +
  280 + menuSolicitarReaberturaProcesso.setIncludes(this.gerarArquivosMenu(menuSolicitarReaberturaProcesso, this.CIT_ECM_WEB_ANGULAR, "SolicitacaoReaberturaProcesso", true, true, false));
  281 + this.menuService.mergeIfNotExist(menuSolicitarReaberturaProcesso);
  282 +
267 283 }
268 284  
269 285 private void iniciarMenuCadastroBasico(Modulo modulo) {
... ...
cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/ProcessoServiceImpl.java
... ... @@ -1234,6 +1234,37 @@ public class ProcessoServiceImpl extends GenericServiceImpl&lt;Processo, Long&gt; impl
1234 1234 }
1235 1235 }
1236 1236 }
  1237 +
  1238 + /**
  1239 + * Método responsável por Reabrir processo BPE para uma unidade
  1240 + *
  1241 + *O processo será aberto no ponto que final da execução do fluxo
  1242 + *
  1243 + * @author maycon.silva
  1244 + *
  1245 + * @param processo
  1246 + * @param unidade
  1247 + */
  1248 + public void reopenProcessIntance(Processo processo, Unidade unidade ){
  1249 +
  1250 + final Unidade unidadeReabertura = this.unidadeService.getReference(unidade.getId());
  1251 +
  1252 + final Processo processoReabertura = this.getReference(processo.getId());
  1253 +
  1254 + final List<EnvironmentVariable> variaveis = new ArrayList<EnvironmentVariable>();
  1255 +
  1256 + processoReabertura.setStatus(this.dominioService.findByChaveAndCodigo("statusProcesso", 2L));
  1257 +
  1258 + UnidadeProcesso unidadeProcesso = unidadeProcessoService.obterPorUnidadeEProcesso(processoReabertura.getId(), unidade.getId());
  1259 +
  1260 + unidadeProcesso.setConcluido(false);
  1261 +
  1262 + variaveis.add(new EnvironmentVariable("grupoPadrao", VariableTypeEnum.TEXT, unidadeReabertura.getGrupo().getSigla(), false));
  1263 +
  1264 + reopenProcessInstance(processoReabertura.getIdProcessInstance(), variaveis);
  1265 +
  1266 + historicoAlteracaoProcessoService.gerarHistoricoReaberturProcesso(processo, unidade);
  1267 + }
1237 1268  
1238 1269 /**
1239 1270 * <p>
... ... @@ -1280,5 +1311,13 @@ public class ProcessoServiceImpl extends GenericServiceImpl&lt;Processo, Long&gt; impl
1280 1311 return this.processoDao.autoCompleteProcessoEmAndamentoByNup(nup);
1281 1312  
1282 1313 }
  1314 +
  1315 + public Collection<Processo> autoCompleteProcessoConcluidoByNup(String nup) {
  1316 +
  1317 + return this.processoDao.autoCompleteProcessoConcluidoByNup(nup);
  1318 +
  1319 + }
  1320 +
  1321 +
1283 1322  
1284 1323 }
... ...
cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/ReabrirProcessoServiceImpl.java 0 → 100644
... ... @@ -0,0 +1,203 @@
  1 +package br.com.centralit.api.service.impl;
  2 +
  3 +import java.util.ArrayList;
  4 +import java.util.Collection;
  5 +import java.util.LinkedList;
  6 +
  7 +import org.springframework.beans.factory.annotation.Autowired;
  8 +import org.springframework.stereotype.Service;
  9 +
  10 +import br.com.centralit.api.dao.ReabrirProcessoDao;
  11 +import br.com.centralit.api.model.ReabrirProcesso;
  12 +import br.com.centralit.api.service.DominioService;
  13 +import br.com.centralit.api.service.GrupoService;
  14 +import br.com.centralit.api.service.NotificacaoService;
  15 +import br.com.centralit.api.service.ProcessoService;
  16 +import br.com.centralit.api.service.ReabrirProcessoService;
  17 +import br.com.centralit.api.service.TemporalidadeService;
  18 +import br.com.centralit.api.service.UnidadeProcessoService;
  19 +import br.com.centralit.api.service.UnidadeService;
  20 +import br.com.centralit.framework.model.Dominio;
  21 +import br.com.centralit.framework.model.Grupo;
  22 +import br.com.centralit.framework.model.Notificacao;
  23 +import br.com.centralit.framework.model.NotificacaoGrupo;
  24 +import br.com.centralit.framework.model.NotificacaoUsuario;
  25 +import br.com.centralit.framework.service.arquitetura.GenericServiceImpl;
  26 +import br.com.centralit.framework.util.UtilColecao;
  27 +
  28 +/**
  29 + * <p>
  30 + * <img src="http://centralit.com.br/images/logo_central.png">
  31 + * </p>
  32 + *
  33 + * <p>
  34 + * <b>Company: </b> Central IT - Governança Corporativa -
  35 + * </p>
  36 + *
  37 + * <p>
  38 + * <b>Title: </b>
  39 + * </p>
  40 + *
  41 + * <p>
  42 + * <b>Description: </b>
  43 + * </p>
  44 + *
  45 + * <p>
  46 + * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>
  47 + * </p>
  48 + *
  49 + * <p>
  50 + * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
  51 + * </p>
  52 + *
  53 + * @since 01/04/2016 - 19:11:27
  54 + *
  55 + * @version 1.0.0
  56 + *
  57 + * @author maycon.silva
  58 + *
  59 + */
  60 +@Service("reabrirProcessoServiceImpl")
  61 +public class ReabrirProcessoServiceImpl extends GenericServiceImpl<ReabrirProcesso, Long> implements ReabrirProcessoService {
  62 +
  63 + private static final String SOLICITAÇÃO_DE_REABERTURA = "Solicitação de Reabertura";
  64 +
  65 + private static final String PROTOCOLO = "PROTOCOLO";
  66 +
  67 + /** Atributo reabrirProcessoDao. */
  68 + private ReabrirProcessoDao reabrirProcessoDao;
  69 +
  70 + @Autowired
  71 + private ProcessoService processoService;
  72 +
  73 + @Autowired
  74 + private UnidadeService unidadeService;
  75 +
  76 + @Autowired
  77 + private DominioService dominioService;
  78 +
  79 + @Autowired
  80 + private UnidadeProcessoService unidadeProcessoService;
  81 +
  82 + @Autowired
  83 + private TemporalidadeService temporalidadeService;
  84 +
  85 + @Autowired
  86 + private NotificacaoService notificacaoService;
  87 +
  88 + /** Atributo grupoService. */
  89 + @Autowired
  90 + private GrupoService grupoService;
  91 +
  92 + @Autowired
  93 + public ReabrirProcessoServiceImpl( ReabrirProcessoDao reabrirProcessoDao ) {
  94 +
  95 + this.dao = reabrirProcessoDao;
  96 +
  97 + this.reabrirProcessoDao = reabrirProcessoDao;
  98 +
  99 + }
  100 +
  101 + @Override
  102 + public ReabrirProcesso save(ReabrirProcesso reabrirProcesso) {
  103 +
  104 + reabrirProcesso.setStatus(this.dominioService.findByChaveAndCodigo("statusSolicitaoProcesso", 1L));
  105 +
  106 + reabrirProcesso.setValidado(false);
  107 +
  108 + reabrirProcesso = super.save(reabrirProcesso);
  109 +
  110 + this.enviarNotificacaoReabertura(reabrirProcesso);
  111 +
  112 + return reabrirProcesso;
  113 + }
  114 +
  115 + @Override
  116 + public ReabrirProcesso merge(ReabrirProcesso reabrirProcesso) {
  117 +
  118 + reabrirProcesso = (ReabrirProcesso) this.reabrirProcessoDao.merge(reabrirProcesso);
  119 +
  120 + if (!reabrirProcesso.getStatus().getCodigo().equals(1L)) {
  121 +
  122 + reabrirProcesso.setValidado(true);
  123 +
  124 + if (reabrirProcesso.getStatus().getCodigo().equals(2L)) {
  125 +
  126 + this.processoService.reopenProcessIntance(reabrirProcesso.getProcesso(), reabrirProcesso.getUnidade());
  127 +
  128 +
  129 + }
  130 +
  131 + this.enviarNotificacaoStatusReabertura(reabrirProcesso);
  132 +
  133 + }
  134 +
  135 + return reabrirProcesso;
  136 + }
  137 +
  138 + private void enviarNotificacaoReabertura(ReabrirProcesso reabrirProcesso) {
  139 +
  140 + StringBuilder sb = new StringBuilder();
  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 +
  173 + sb.append("A sua solicitação de reabertura para o proceso ").append(reabrirProcesso.getProcesso().getNup()).append(" foi ");
  174 +
  175 + if (reabrirProcesso.getStatus().getCodigo().equals(2L)) {
  176 +
  177 + sb.append("aprovada.");
  178 +
  179 + } else if (reabrirProcesso.getStatus().getCodigo().equals(3L)) {
  180 +
  181 + sb.append("rejeitada");
  182 + }
  183 +
  184 + Dominio tipoNotificacao = this.dominioService.findByChaveAndCodigo("tipoNotificacao", 4L);
  185 +
  186 + Dominio tipoPrioridade = this.dominioService.findByChaveAndCodigo("tipoPrioridade", 2L);
  187 +
  188 + Notificacao notificacao = new Notificacao("Reabertura de processo", sb.toString(), tipoNotificacao, tipoPrioridade, null, null, null);
  189 +
  190 + NotificacaoUsuario notificacaoUsuario = new NotificacaoUsuario(notificacao, reabrirProcesso.getAutor());
  191 +
  192 + notificacao.setNotificacaoUsuarios(new ArrayList<NotificacaoUsuario>());
  193 +
  194 + notificacao.getNotificacaoUsuarios().add(notificacaoUsuario);
  195 +
  196 + this.notificacaoService.save(notificacao);
  197 + }
  198 +
  199 + public Collection<ReabrirProcesso> findSolicitacaoEmAberto(){
  200 + return reabrirProcessoDao.findSolicitacaoEmAberto();
  201 + }
  202 +
  203 +}
... ...
cit-ecm-web/src/main/java/br/com/centralit/controller/ProcessoController.java
... ... @@ -229,6 +229,20 @@ public class ProcessoController extends GenericController&lt;Processo&gt; {
229 229  
230 230 return responseBody;
231 231 }
  232 +
  233 + @RequestMapping(value = "/autoCompleteProcessoConcluidoByNup", method = RequestMethod.GET, produces = "application/json")
  234 + @ResponseBody
  235 + public ResponseBodyWrapper autoCompleteProcessoConcluidoByNup(@RequestParam(value = "nup") String nup) {
  236 +
  237 + ResultResponseVH<Collection<Processo>> resultResponseVH = new ResultResponseVH<Collection<Processo>>(this.processoService.autoCompleteProcessoConcluidoByNup(nup));
  238 +
  239 + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(resultResponseVH, getMetadadoProcessoView());
  240 +
  241 + return responseBody;
  242 + }
  243 +
  244 +
  245 +
232 246  
233 247 @Override
234 248 public Class<Views.ProcessoEdit> getEditView() {
... ...
cit-ecm-web/src/main/java/br/com/centralit/controller/ReabrirProcessoController.java 0 → 100644
... ... @@ -0,0 +1,87 @@
  1 +package br.com.centralit.controller;
  2 +
  3 +import java.util.Collection;
  4 +
  5 +import org.springframework.beans.factory.annotation.Autowired;
  6 +import org.springframework.stereotype.Controller;
  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;
  11 +
  12 +import br.com.centralit.api.framework.json.ViewsEcm;
  13 +import br.com.centralit.api.model.Processo;
  14 +import br.com.centralit.api.model.ReabrirProcesso;
  15 +import br.com.centralit.api.service.ReabrirProcessoService;
  16 +import br.com.centralit.framework.controller.GenericController;
  17 +import br.com.centralit.framework.json.ResponseBodyWrapper;
  18 +import br.com.centralit.framework.view.ResultResponseVH;
  19 +
  20 +/**
  21 + * <p><img src="http://centralit.com.br/images/logo_central.png"></p>
  22 + *
  23 + * <p><b>Company: </b> Central IT - Governança Corporativa - </p>
  24 + *
  25 + * <p><b>Title: </b></p>
  26 + *
  27 + * <p><b>Description: </b></p>
  28 + *
  29 + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p>
  30 + *
  31 + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>
  32 + *
  33 + * @since 01/04/2016 - 19:06:06
  34 + *
  35 + * @version 1.0.0
  36 + *
  37 + * @author maycon.silva
  38 + *
  39 + */
  40 +@Controller
  41 +@RequestMapping("/rest/reabrirProcesso")
  42 +public class ReabrirProcessoController extends GenericController<ReabrirProcesso> {
  43 +
  44 + /** Atributo reabrirProcessoDao. */
  45 + private ReabrirProcessoService reabrirProcessoService;
  46 +
  47 + /**
  48 + * Responsável pela criação de novas instâncias desta classe.
  49 + *
  50 + * @param reabrirProcessoService
  51 + */
  52 + @Autowired
  53 + public ReabrirProcessoController( ReabrirProcessoService reabrirProcessoService ) {
  54 +
  55 + super(reabrirProcessoService);
  56 +
  57 + this.reabrirProcessoService = reabrirProcessoService;
  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 +
  72 +
  73 + @Override
  74 + public Class<ViewsEcm.ReabrirProcessoEditView> getEditView() {
  75 +
  76 + return ViewsEcm.ReabrirProcessoEditView.class;
  77 + }
  78 +
  79 + @Override
  80 + public Class<ViewsEcm.ReabrirProcessoListView> getListView() {
  81 +
  82 + return ViewsEcm.ReabrirProcessoListView.class;
  83 + }
  84 +
  85 +
  86 +
  87 +}
... ...
cit-ecm-web/src/main/java/br/com/centralit/listener/StartupListenerEcm.java
... ... @@ -88,10 +88,12 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen
88 88 */
89 89 private void criarRegraDeAcesso() {
90 90  
91   - Privilegio privilegioReservado = this.privilegioService.saveIfNotExist(new Privilegio("USER_RESERVADO", "Acessa o sigilo reservado"));
92   - Privilegio privilegioSecreto = this.privilegioService.saveIfNotExist(new Privilegio("USER_SECRETO", "Acessa o sigilo secreto"));
93   - Privilegio privilegioUltrassecreto = this.privilegioService.saveIfNotExist(new Privilegio("USER_ULTRASSECRETO", "Acessa o sigilo Ultrassecreto"));
94   -
  91 + this.privilegioService.saveIfNotExist(new Privilegio("PROTOCOLO", "Acessa processo finalizados"));
  92 +
  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"));
  95 + Privilegio privilegioUltrassecreto = this.privilegioService.saveIfNotExist(new Privilegio("ULTRASSECRETO", "Acessa o sigilo Ultrassecreto"));
  96 +
95 97 Dominio dominioReservado = this.dominioService.findByChaveAndCodigo("tipoSigilo", 0L);
96 98 Dominio dominioSecreto = this.dominioService.findByChaveAndCodigo("tipoSigilo", 1L);
97 99 Dominio dominioUltrassecreto = this.dominioService.findByChaveAndCodigo("tipoSigilo", 2L);
... ... @@ -144,7 +146,8 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen
144 146 list.add(new AcaoHistoricoAlteracaoProcesso("ATUALIZAR_ANDAMENTO_PROCESSO", "Atualização de Andamento do Processo", "Situação do processo alterada para <<situacao>>."));
145 147 list.add(new AcaoHistoricoAlteracaoProcesso("INICIAR_ATRIBUICAO_PROCESSO", "Atribuição do processo", "Processo atribuído a <<usuario>>."));
146 148 list.add(new AcaoHistoricoAlteracaoProcesso("ALTERAR_ATRIBUICAO_PROCESSO", "Atribuição do processo alterada", "Processo atribuído a <<usuario>>."));
147   -
  149 + list.add(new AcaoHistoricoAlteracaoProcesso("REABERTURA_DE_PROCESSO", "Reabrir Processo", "Processo reaberto na unidade <<unidade>>."));
  150 +
148 151 try {
149 152 this.acaoHistoricoAlteracaoProcessoService.saveListIfNotExist(list);
150 153 } catch (Exception e) {
... ... @@ -227,6 +230,10 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen
227 230  
228 231 list.add(new Dominio("tipoAssinatura", "Assinatura interna", "ASSINATURA_INTERNA", 1L));
229 232 list.add(new Dominio("tipoAssinatura", "Assinatura por certificado digital", "ASSINATURA_CERTIFICADO_DIGITAL", 2L));
  233 +
  234 + list.add(new Dominio("statusSolicitaoProcesso", "Em Aberto", "EM_ABERTO", 1L, Boolean.FALSE));
  235 + list.add(new Dominio("statusSolicitaoProcesso", "Aprovada", "APROVADA", 2L, Boolean.FALSE));
  236 + list.add(new Dominio("statusSolicitaoProcesso", "Rejeitada", "REJEITADA", 3L, Boolean.FALSE));
230 237  
231 238 this.dominioService.saveListIfNotExist(list);
232 239  
... ... @@ -459,6 +466,13 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen
459 466 internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.DOCUMENTO_SEM_ASSINATURA", "Documento sem assinaturas!", dominio, modulo));
460 467 internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.DADOS_PROCESSO_ANEXADO", "Dados do Processo Anexado", dominio, modulo));
461 468 internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.VISUALIZAR_ASSINATURAS", "Visualizar Assinaturas", dominio, modulo));
  469 + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.JUSTIFICATIVA_CANCELAMENTO", "Justificativa Cancelado", dominio, modulo));
  470 + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.DADOS_REABERTURA", "Dados da Reabertura", dominio, modulo));
  471 + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.VISUALIZAR_PROCESSO", "Visualizar Processo", dominio, modulo));
  472 + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.REABRIR", "Executar Solicitacao", dominio, modulo));
  473 + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.SOLICITAR_REABERTURA", "Solicitar Reabertura", dominio, modulo));
  474 + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.JUSTIFICATIVAREJEICAO", "Rejeitar Solicitação", dominio, modulo));
  475 + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.DADOS_SOLICITACAO", "Dados da Solicitação", dominio, modulo));
462 476  
463 477 }
464 478  
... ... @@ -539,7 +553,6 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen
539 553 internacionalizacaoList.add(new Internacionalizacao("ECM.MSG_HISTORICO_ECM.RESTAURACAO_VERSAO_DOCUMENTO", "Restauração de uma versão do documento", dominio, modulo));
540 554 internacionalizacaoList.add(new Internacionalizacao("ECM.MSG_HISTORICO_ECM.CONCLUSAO_PROCESSO_UNIDADE", "Conclusão do Processo na Unidade", dominio, modulo));
541 555 internacionalizacaoList.add(new Internacionalizacao("ECM.MSG_HISTORICO_ECM.CANCELAR_DOCUMENTO", "Cancelar Documentos", dominio, modulo));
542   - internacionalizacaoList.add(new Internacionalizacao("ECM.MSG_HISTORICO_ECM.REABRIR_PROCESSO", "Reabrir Processo", dominio, modulo));
543 556 internacionalizacaoList.add(new Internacionalizacao("ECM.MSG_HISTORICO_ECM.ENVIO_PROCESSO", "Envio de processo para outra unidade", dominio, modulo));
544 557 internacionalizacaoList.add(new Internacionalizacao("ECM.MSG_HISTORICO_ECM.JUSTIFICATIVA_ACAO_PROCESSO", "Justificativa", dominio, modulo));
545 558 internacionalizacaoList.add(new Internacionalizacao("ECM.MSG.SUBSTITUIR_VERSAO_DOCUMENTO", "Confirma substituir a versão do documento?", dominio, modulo));
... ... @@ -580,6 +593,7 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen
580 593 internacionalizacaoList.add(new Internacionalizacao("ECM.MSG.DOCUMENTO_JA_ASSINADO", "Documento já foi assinado por este usuário!", dominio, modulo));
581 594 internacionalizacaoList.add(new Internacionalizacao("ECM.MSG.INFORMACAO_RESTRITA", "Informação restrita", dominio, modulo));
582 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));
583 597  
584 598 }
585 599 }
... ...
cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/ReabrirProcessoController.js 0 → 100644
... ... @@ -0,0 +1,151 @@
  1 +'use strict';
  2 +
  3 +citApp.controller('ReabrirProcessoController', ['$scope', 'ReabrirProcessoRepository', 'ProcessoRepository', 'DominioRepository','$filter', '$translate', '$timeout', "appService",
  4 + function ReabrirProcessoController($scope, ReabrirProcessoRepository, ProcessoRepository, DominioRepository, $filter, $translate, $timeout, appService) {
  5 + $scope.reabrirProcesso = {};
  6 +
  7 + // Limpa formulário para novo cadastro
  8 + $scope.resetForm = function() {
  9 + $scope.limparReabrirProcesso();
  10 + $scope.edit = true;
  11 + $timeout(function(){
  12 + $scope.reabrirProcessoForm.$submitted = false;
  13 + $scope.reabrirProcessoForm.$setPristine();
  14 + });
  15 + };
  16 +
  17 + // Atualiza pagina de pesquisa
  18 + $scope.atualizaPaginaPesquisa = function () {
  19 + angular.element('#searchReabrirProcesso').scope().fetchResult();
  20 + };
  21 +
  22 + // MODAL QUE CONFIRMA REMOVER DO PAIS
  23 + $scope.remove = function(reabrirProcesso){
  24 + $scope.reabrirProcesso = reabrirProcesso;
  25 + $scope.$openModalConfirm({
  26 + message: $translate.instant('MSG.CONFIRMA_EXCLUSAO'),
  27 + callback: function () {
  28 + ReabrirProcessoRepository.remove($scope.reabrirProcesso).then(function() {
  29 +
  30 + $scope.$modalConfirmInstance.dismiss('cancel');
  31 + $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO'));
  32 + angular.element('#searchReabrirProcesso').scope().fetchResult();
  33 +
  34 + $scope.resetForm();
  35 +
  36 + $scope.edit = false;
  37 + });
  38 + }
  39 + });
  40 + };
  41 +
  42 + // SALVA O PAIS
  43 + $scope.saveOrUpdate = function(){
  44 + $scope.reabrirProcessoForm.$submitted = true;
  45 +
  46 + //verifica se o formulario está valido para salvar
  47 + if($scope.reabrirProcessoForm.$valid){
  48 +
  49 + $scope.setLoadingSalva(true);
  50 +
  51 + ReabrirProcessoRepository.save($scope.reabrirProcesso).then(function(result) {
  52 + $scope.reabrirProcesso = result.originalElement;
  53 + $scope.showAlert("success", $translate.instant('MSG.REGISTRO_SALVO'));
  54 + $scope.reabrirProcessoForm.$submitted = false;
  55 + $scope.setLoading(false);
  56 + $scope.atualizaPaginaPesquisa();
  57 +
  58 + });
  59 +
  60 + }else{
  61 + //Mensagem de erro de campos obrigatorios não preenchidos
  62 + $scope.showAlert('error', $translate.instant('MSG.MN001'), " ", false);
  63 + }
  64 +
  65 + };
  66 +
  67 + // Limpa o formulario preenchido
  68 + $scope.limparReabrirProcesso = function(){
  69 + $scope.reabrirProcesso = {};
  70 + };
  71 +
  72 +
  73 + $scope.findAutoCompleteProcesso = function(value){
  74 +
  75 + return ProcessoRepository.findAutoComplete('nup', value).then(function(result) {
  76 + return result;
  77 +
  78 + });
  79 + };
  80 +
  81 +
  82 + DominioRepository.findAllDominio('statusSolicitaoProcesso').then(function(result) {
  83 + $scope.statusList = result;
  84 + });
  85 +
  86 +
  87 + // Consulta entidade e mostra no formulario
  88 + $scope.getReabrirProcesso = function(reabrirProcesso, edit){
  89 +
  90 + $scope.setLoadingGet(true);
  91 + ReabrirProcessoRepository.get(reabrirProcesso.id).then(function(result) {
  92 + $scope.reabrirProcesso = result.originalElement;
  93 + $scope.edit = edit;
  94 + $scope.setLoading(false);
  95 + });
  96 + };
  97 +
  98 + $scope.visualizarProcesso = function (){
  99 +
  100 + if($scope.reabrirProcesso.processo){
  101 +
  102 + var pagina = '/cit-ecm-web/html/gerenciarProcessoView/gerenciarProcessoView.html';
  103 +
  104 + $scope.openWorkspaceIfNotOpen($translate.instant('ECM.LABEL.PROCESSO'), pagina, 'mod-orange');
  105 +
  106 + $timeout(function() {
  107 + angular.element('#viewGerenciarProcesso').scope().getProcessoView($scope.reabrirProcesso.processo);
  108 +
  109 + }, 400);
  110 +
  111 + }else{
  112 + $scope.showAlert("success", "selecione um processo");
  113 + }
  114 + };
  115 +
  116 +
  117 +
  118 + // Abre a tela de visualização de processo e documentos
  119 + $scope.visualizarProcesso = function () {
  120 +
  121 + var pagina = '/cit-ecm-web/html/processoVisualizacao/processoView.html';
  122 +
  123 + var paginaGerenciamento = '/cit-ecm-web/html/gerenciarProcesso/gerenciarProcesso.html';
  124 +
  125 + if ( appService.existsWorkspace( paginaGerenciamento ) ) {
  126 + $scope.$openModalConfirm( {
  127 + message : $translate.instant( 'ECM.MSG.EXISTE_PROCESSO_ABERTO' ),
  128 + callback : function () {
  129 + $scope.$modalConfirmInstance.dismiss( 'cancel' );
  130 + $scope.setLoading( true );
  131 + $scope.openWorkspaceIfNotOpen( $translate.instant( 'ECM.LABEL.PROCESSO' ), pagina, 'mod-orange' );
  132 + $timeout( function () {
  133 + angular.element( '#visualizarGerenciarProcesso' ).scope().getProcessoVH( $scope.reabrirProcesso.processo.id);
  134 +
  135 + }, 100 );
  136 + $scope.setLoading( false );
  137 + }
  138 + } );
  139 + } else {
  140 + $scope.openWorkspaceIfNotOpen( $translate.instant( 'ECM.LABEL.PROCESSO' ), pagina, 'mod-orange' );
  141 + $timeout( function () {
  142 + angular.element( '#visualizarGerenciarProcesso' ).scope().getProcessoVH($scope.reabrirProcesso.processo.id);
  143 +
  144 + }, 100 );
  145 + }
  146 + ;
  147 + };
  148 +
  149 +}]);
  150 +
  151 +
... ...
cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/ReabrirProcessoListController.js 0 → 100644
... ... @@ -0,0 +1,47 @@
  1 +'use strict';
  2 +
  3 +citApp.controller('ReabrirProcessoListController', ['$scope', 'ReabrirProcessoRepository', '$translate', '$timeout', 'DominioRepository', function ReabrirProcessoListController($scope, ReabrirProcessoRepository, $translate, $timeout, DominioRepository) {
  4 + $scope.$showAdvancedFilters = false;
  5 +
  6 + $scope.resetForm = function() {
  7 + angular.element("#editReabrirProcesso").scope().resetForm();
  8 + };
  9 +
  10 +
  11 + $scope.headers = [ {title : $translate.instant('ECM.LABEL.PROTOCOLO'), value : 'processo.nup'},
  12 + {title : $translate.instant('ECM.LABEL.JUSTIFICATIVA'), value : 'justificativaSolicitacao' },
  13 + {title : $translate.instant('ECM.LABEL.STATUS'), value : 'status.descricao' }];
  14 +
  15 + $scope.filterCriteria = {
  16 + start : 1,
  17 + dir : 'asc',
  18 + sort : 'id',
  19 + limit : 10,
  20 + fields: ['id','processo.nup','justificativaSolicitacao','status.descricao'],
  21 + filters : [ {type : 'string', field : 'processo.nup' },
  22 + {type : 'string', field : 'justificativaSolicitacao' },
  23 + {type : 'string', field : 'status.descricao', listaDominio : [] , comparison : 'eq', value: 'Em Aberto'}]
  24 +
  25 + };
  26 +
  27 +
  28 +
  29 + DominioRepository.findAllDominioByCodigo('statusSolicitaoProcesso', 1).then(function(result) {
  30 +
  31 + $scope.filterCriteria.filters[2].listaDominio.push(result.originalElement);
  32 +
  33 + });
  34 +
  35 + // ABRI Documento SELECIONADA
  36 + $scope.abrirVisualizar = function(edit){
  37 + var reabrirProcesso = $scope.reabrirProcessoChecked;
  38 +
  39 + if(!reabrirProcesso) {
  40 + $scope.showAlert('warning', !edit ? $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_VISUALIZACAO') : $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_EDICAO'));
  41 + return;
  42 + }
  43 + angular.element('#editReabrirProcesso').scope().getReabrirProcesso(reabrirProcesso, edit);
  44 + $scope.$showPageEditWorkspace($scope.workspace);
  45 + };
  46 +
  47 +}]);
... ...
cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/SolicitacaoReaberturaProcessoController.js 0 → 100644
... ... @@ -0,0 +1,130 @@
  1 +'use strict';
  2 +
  3 +citApp.controller('SolicitacaoReaberturaProcessoController', ['$scope','ReabrirProcessoRepository', 'ProcessoRepository','UnidadeRepository','$filter', '$translate', '$timeout',"appService", function SolicitacaoReaberturaProcessoController($scope, ReabrirProcessoRepository, ProcessoRepository, UnidadeRepository, $filter, $translate, $timeout, appService) {
  4 + $scope.solicitacaoReaberturaProcesso = {};
  5 +
  6 + // Limpa formulário para novo cadastro
  7 + $scope.resetForm = function() {
  8 + $scope.limparSolicitacaoReaberturaProcesso();
  9 + $scope.edit = true;
  10 + $timeout(function(){
  11 + $scope.solicitacaoReaberturaProcessoForm.$submitted = false;
  12 + $scope.solicitacaoReaberturaProcessoForm.$setPristine();
  13 + });
  14 + };
  15 +
  16 + // Atualiza pagina de pesquisa
  17 + $scope.atualizaPaginaPesquisa = function () {
  18 + angular.element('#searchSolicitacaoReaberturaProcesso').scope().fetchResult();
  19 + };
  20 +
  21 + // MODAL QUE CONFIRMA REMOVER DO PAIS
  22 + $scope.remove = function(solicitacaoReaberturaProcesso){
  23 + $scope.solicitacaoReaberturaProcesso = solicitacaoReaberturaProcesso;
  24 + $scope.$openModalConfirm({
  25 + message: $translate.instant('MSG.CONFIRMA_EXCLUSAO'),
  26 + callback: function () {
  27 + ReabrirProcessoRepository.remove($scope.solicitacaoReaberturaProcesso).then(function() {
  28 +
  29 + $scope.$modalConfirmInstance.dismiss('cancel');
  30 + $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO'));
  31 + angular.element('#searchSolicitacaoReaberturaProcesso').scope().fetchResult();
  32 +
  33 + $scope.resetForm();
  34 + });
  35 + }
  36 + });
  37 + };
  38 +
  39 + // SALVA O PAIS
  40 + $scope.saveOrUpdate = function(){
  41 +
  42 + $scope.solicitacaoReaberturaProcessoForm.$submitted = true;
  43 +
  44 + //verifica se o formulario está valido para salvar
  45 + if($scope.solicitacaoReaberturaProcessoForm.$valid){
  46 +
  47 + $scope.setLoadingSalva(true);
  48 +
  49 + ReabrirProcessoRepository.save($scope.solicitacaoReaberturaProcesso).then(function(result) {
  50 + $scope.solicitacaoReaberturaProcesso = result.originalElement;
  51 + $scope.showAlert("success", $translate.instant('MSG.REGISTRO_SALVO'));
  52 + $scope.status = $scope.solicitacaoReaberturaProcesso.status.descricao;
  53 + $scope.solicitacaoReaberturaProcessoForm.$submitted = false;
  54 + $scope.edit = false;
  55 + $scope.setLoading(false);
  56 + });
  57 +
  58 + }else{
  59 + //Mensagem de erro de campos obrigatorios não preenchidos
  60 + $scope.showAlert('error', $translate.instant('MSG.MN001'), " ", false);
  61 + }
  62 +
  63 + };
  64 +
  65 + // Limpa o formulario preenchido
  66 + $scope.limparSolicitacaoReaberturaProcesso = function(){
  67 + $scope.solicitacaoReaberturaProcesso = {};
  68 + $scope.status = null;
  69 + };
  70 +
  71 +
  72 + $scope.findAutoCompleteProcesso = function(value){
  73 +
  74 + return ProcessoRepository.autoCompleteProcessoConcluidoByNup( value).then(function(result) {
  75 +
  76 + return result;
  77 +
  78 + });
  79 + };
  80 +
  81 + // Consulta entidade e mostra no formulario
  82 + $scope.getSolicitacaoReaberturaProcesso = function(processo, edit){
  83 +
  84 + $scope.setLoadingGet(true);
  85 + ReabrirProcessoRepository.get(processo.id).then(function(result) {
  86 +
  87 + $scope.solicitacaoReaberturaProcesso = result.originalElement;
  88 +
  89 + $scope.status = $scope.solicitacaoReaberturaProcesso.status.descricao;
  90 +
  91 + $scope.edit = edit;
  92 +
  93 + $scope.setLoading(false);
  94 + });
  95 + };
  96 +
  97 + // Abre a tela de visualização de processo e documentos
  98 + $scope.visualizarProcesso = function () {
  99 +
  100 + var pagina = '/cit-ecm-web/html/processoVisualizacao/processoView.html';
  101 +
  102 + var paginaGerenciamento = '/cit-ecm-web/html/gerenciarProcesso/gerenciarProcesso.html';
  103 +
  104 + if ( appService.existsWorkspace( paginaGerenciamento ) ) {
  105 + $scope.$openModalConfirm( {
  106 + message : $translate.instant( 'ECM.MSG.EXISTE_PROCESSO_ABERTO' ),
  107 + callback : function () {
  108 + $scope.$modalConfirmInstance.dismiss( 'cancel' );
  109 + $scope.setLoading( true );
  110 + $scope.openWorkspaceIfNotOpen( $translate.instant( 'ECM.LABEL.PROCESSO' ), pagina, 'mod-orange' );
  111 + $timeout( function () {
  112 + angular.element( '#visualizarGerenciarProcesso' ).scope().getProcessoVH( $scope.solicitacaoReaberturaProcesso.processo.id);
  113 +
  114 + }, 100 );
  115 + $scope.setLoading( false );
  116 + }
  117 + } );
  118 + } else {
  119 + $scope.openWorkspaceIfNotOpen( $translate.instant( 'ECM.LABEL.PROCESSO' ), pagina, 'mod-orange' );
  120 + $timeout( function () {
  121 + angular.element( '#visualizarGerenciarProcesso' ).scope().getProcessoVH($scope.solicitacaoReaberturaProcesso.processo.id);
  122 +
  123 + }, 100 );
  124 + }
  125 + ;
  126 + };
  127 +
  128 +}]);
  129 +
  130 +
... ...
cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/SolicitacaoReaberturaProcessoListController.js 0 → 100644
... ... @@ -0,0 +1,38 @@
  1 +'use strict';
  2 +
  3 +citApp.controller('SolicitacaoReaberturaProcessoListController', ['$scope', 'ReabrirProcessoRepository', '$translate', '$timeout', 'DominioRepository', function SolicitacaoReaberturaProcessoListController($scope, ReabrirProcessoRepository, $translate, $timeout, DominioRepository) {
  4 + $scope.$showAdvancedFilters = false;
  5 +
  6 + $scope.resetForm = function() {
  7 + angular.element("#editSolicitacaoReaberturaProcesso").scope().resetForm();
  8 + };
  9 +
  10 +
  11 + $scope.headers = [ {title : $translate.instant('ECM.LABEL.PROTOCOLO'), value : 'processo.nup'},
  12 + {title : $translate.instant('ECM.LABEL.JUSTIFICATIVA'), value : 'justificativaSolicitacao' },
  13 + {title : $translate.instant('ECM.LABEL.STATUS'), value : 'status.descricao' }];
  14 +
  15 + $scope.filterCriteria = {
  16 + start : 1,
  17 + dir : 'asc',
  18 + sort : 'id',
  19 + limit : 10,
  20 + fields: ['id','processo.nup','justificativaSolicitacao', 'status.descricao'],
  21 + filters : [ {type : 'string', field : 'processo.nup' },
  22 + {type : 'string', field : 'justificativaSolicitacao' },
  23 + {type : 'string', field : 'status.descricao'}]
  24 + };
  25 +
  26 + // ABRI Documento SELECIONADA
  27 + $scope.abrirVisualizar = function(edit){
  28 + var solicitacaoReaberturaProcesso = $scope.solicitacaoReaberturaProcessoChecked;
  29 +
  30 + if(!solicitacaoReaberturaProcesso) {
  31 + $scope.showAlert('warning', !edit ? $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_VISUALIZACAO') : $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_EDICAO'));
  32 + return;
  33 + }
  34 + angular.element('#editSolicitacaoReaberturaProcesso').scope().getSolicitacaoReaberturaProcesso(solicitacaoReaberturaProcesso, edit);
  35 + $scope.$showPageEditWorkspace($scope.workspace);
  36 + };
  37 +
  38 +}]);
... ...
cit-ecm-web/src/main/webapp/assets/js/angular/custom/repository/ProcessoRepository.js
... ... @@ -51,6 +51,11 @@ citApp.factory(&#39;ProcessoRepository&#39;, [&#39;RestangularEcm&#39;, &#39;AbstractRepository&#39;, fu
51 51 return restangularEcm.one(this.route + '/autoCompleteProcessoEmAndametoByNup').get({"nup": nup}).then();
52 52  
53 53 };
  54 +
  55 + this.autoCompleteProcessoConcluidoByNup = function (nup){
  56 + return restangularEcm.one(this.route + '/autoCompleteProcessoConcluidoByNup').get({"nup": nup}).then();
  57 +
  58 + };
54 59  
55 60 }
56 61  
... ...
cit-ecm-web/src/main/webapp/assets/js/angular/custom/repository/ReabrirProcessoRepository.js 0 → 100644
... ... @@ -0,0 +1,18 @@
  1 +'use strict';
  2 +
  3 +citApp.factory('ReabrirProcessoRepository', ['RestangularEcm', 'AbstractRepository', function (restangularEcm, AbstractRepository) {
  4 +
  5 + function ReabrirProcessoRepository() {
  6 + AbstractRepository.call(this, restangularEcm, 'rest/reabrirProcesso');
  7 +
  8 + this.findSolicitacaoEmAberto = function (){
  9 + return restangularEcm.one(this.route + '/findSolicitacaoEmAberto').get().then();
  10 +
  11 + };
  12 +
  13 + }
  14 +
  15 + AbstractRepository.extend(ReabrirProcessoRepository);
  16 +
  17 + return new ReabrirProcessoRepository();
  18 +}]);
... ...
cit-ecm-web/src/main/webapp/html/reabrirProcesso/reabrirProcesso.html 0 → 100644
... ... @@ -0,0 +1,2 @@
  1 +<div ng-include src="'/cit-ecm-web/html/reabrirProcesso/reabrirProcessoList.html'" ng-show="workspace.$showSearch"></div>
  2 +<div ng-include src="'/cit-ecm-web/html/reabrirProcesso/reabrirProcessoEdit.html'" ng-show="workspace.$showEdit"></div>
... ...
cit-ecm-web/src/main/webapp/html/reabrirProcesso/reabrirProcessoEdit.html 0 → 100644
... ... @@ -0,0 +1,87 @@
  1 +<div id="editReabrirProcesso" class="page-content clearfix" ng-controller="ReabrirProcessoController">
  2 + <div class="bar-buttons-action fixed">
  3 + <div class="row">
  4 + <div class="col-sm-8 text-left">
  5 +
  6 + <button class="btn btn-clear" ng-click="saveOrUpdate()" ng-show="edit">
  7 + <i class="fa fa-save green"></i>
  8 + <translate>ECM.LABEL.REABRIR</translate>
  9 + </button>
  10 +
  11 + <button class="btn btn-clear" ng-click="$showPageSearchWorkspace(workspace); atualizaPaginaPesquisa();">
  12 + <i class="fa fa-search"></i>
  13 + <translate>LABEL.PESQUISAR</translate>
  14 + </button>
  15 +
  16 + <button class="btn btn-clear" ng-click="visualizarProcesso();" >
  17 + <i class="fa fa-eye"></i>
  18 + <translate>ECM.LABEL.VISUALIZAR_PROCESSO</translate>
  19 + </button>
  20 +
  21 + </div>
  22 + <!-- .col -->
  23 +
  24 + <div class="col-sm-4 text-right">
  25 +
  26 + <favorito />
  27 +
  28 + <help-button workspace="workspace" />
  29 +
  30 + </div>
  31 + <!-- .col -->
  32 + </div>
  33 + <!-- .row -->
  34 + </div>
  35 + <!-- .bar-buttons-action -->
  36 +
  37 + <breadcrumb ng-workspace="workspace"></breadcrumb>
  38 +
  39 + <form name="reabrirProcessoForm">
  40 + <p>
  41 + <small>( <span class="red">*</span> ) <translate>LABEL.CAMPOS_OBRIGATORIOS</translate></small>
  42 + </p>
  43 +
  44 + <fieldset>
  45 +
  46 + <legend>
  47 + <translate>ECM.LABEL.DADOS_REABERTURA</translate>
  48 + </legend>
  49 +
  50 + </fieldset>
  51 +
  52 + <div class="row">
  53 + <div class="col-sm-8">
  54 +
  55 + </div>
  56 + </div>
  57 +
  58 + <div class="row">
  59 + <div class="col-sm-4">
  60 + <auto-complete ng-id="reabrirProcesso.processo" ng-disabled='reabrirProcesso.id' ng-obrigatorio='true' ng-label="ECM.LABEL.PROTOCOLO" ng-model="reabrirProcesso.processo" form='reabrirProcessoForm' ng-find="findAutoCompleteProcesso(value)"
  61 + ng-item="item.nup" />
  62 + </div>
  63 + </div>
  64 +
  65 + <div class="row" ng-if="reabrirProcesso.id">
  66 + <div class="col-md-4">
  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>
  69 + </div>
  70 + </div>
  71 +
  72 + <div class="row" ng-if="reabrirProcesso.id && reabrirProcesso.status.codigo == 3">
  73 + <div class="col-sm-8">
  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' />
  76 + </div>
  77 + </div>
  78 +
  79 + <div class="row">
  80 + <div class="col-sm-8">
  81 + <label-text-area ng-id="reabrirProcesso.justificativaSolicitacao" ng-disabled='reabrirProcesso.id' ng-typ="text" ng-obrigatorio='true' ng-label="ECM.LABEL.MOTIVO" form='reabrirProcessoForm' ng-model="reabrirProcesso.justificativaSolicitacao"
  82 + ng-custom-maxlength='255' />
  83 + </div>
  84 + </div>
  85 + </form>
  86 +</div>
  87 +<!-- .page-content -->
... ...
cit-ecm-web/src/main/webapp/html/reabrirProcesso/reabrirProcessoList.html 0 → 100644
... ... @@ -0,0 +1,40 @@
  1 +<div id="searchReabrirProcesso" class="page-content" ng-controller="ReabrirProcessoListController">
  2 + <div class="bar-buttons-action fixed">
  3 + <div class="row">
  4 + <div class="col-sm-8 text-left">
  5 +
  6 + <button class="btn btn-clear" ng-click="abrirVisualizar(false);">
  7 + <i class="fa fa-search blue"></i>
  8 + <translate>LABEL.VISUALIZAR</translate>
  9 + </button>
  10 +
  11 + <button class="btn btn-clear" ng-click="abrirVisualizar(true);">
  12 + <i class="fa fa-pencil blue"></i>
  13 + <translate>ECM.LABEL.REABRIR</translate>
  14 + </button>
  15 +
  16 + <span class="divider-vertical"></span>
  17 +
  18 + <filtros ng-filter="filterCriteria" ng-workspace="workspace"></filtros>
  19 +
  20 + </div>
  21 + <!-- .col -->
  22 +
  23 + <div class="col-sm-4 text-right">
  24 +
  25 + <favorito />
  26 +
  27 + <help-button workspace="workspace" />
  28 +
  29 + </div>
  30 + <!-- .col -->
  31 + </div>
  32 + <!-- .row -->
  33 + </div>
  34 + <!-- .bar-buttons-action -->
  35 +
  36 + <breadcrumb ng-workspace="workspace"></breadcrumb>
  37 +
  38 + <list-view ng-lista="reabrirProcessoList" ng-repository="ReabrirProcessoRepository" ng-use-custom-remove="false" ng-headers="headers" ng-filter-criteria="filterCriteria" ng-item-selecionado="reabrirProcessoChecked"></list-view>
  39 +</div>
  40 +<!-- .page-content -->
... ...
cit-ecm-web/src/main/webapp/html/solicitacaoReaberturaProcesso/solicitacaoReaberturaProcesso.html 0 → 100644
... ... @@ -0,0 +1,2 @@
  1 +<div ng-include src="'/cit-ecm-web/html/solicitacaoReaberturaProcesso/solicitacaoReaberturaProcessoList.html'" ng-show="workspace.$showSearch"></div>
  2 +<div ng-include src="'/cit-ecm-web/html/solicitacaoReaberturaProcesso/solicitacaoReaberturaProcessoEdit.html'" ng-show="workspace.$showEdit"></div>
... ...
cit-ecm-web/src/main/webapp/html/solicitacaoReaberturaProcesso/solicitacaoReaberturaProcessoEdit.html 0 → 100644
... ... @@ -0,0 +1,91 @@
  1 +<div id="editSolicitacaoReaberturaProcesso" class="page-content clearfix" ng-controller="SolicitacaoReaberturaProcessoController">
  2 + <div class="bar-buttons-action fixed">
  3 + <div class="row">
  4 + <div class="col-sm-8 text-left">
  5 +
  6 + <button class="btn btn-clear" ng-click="saveOrUpdate()" ng-show="edit">
  7 + <i class="fa fa-save green"></i>
  8 + <translate>ECM.LABEL.SOLICITAR_REABERTURA</translate>
  9 + </button>
  10 +
  11 + <button class="btn btn-clear" ng-click="resetForm()" ng-show="edit">
  12 + <i class="fa fa-eraser yellow-dark"></i>
  13 + <translate>LABEL.LIMPAR</translate>
  14 + </button>
  15 +
  16 +
  17 + <button class="btn btn-clear" ng-click="$showPageSearchWorkspace(workspace); atualizaPaginaPesquisa();">
  18 + <i class="fa fa-search"></i>
  19 + <translate>LABEL.PESQUISAR</translate>
  20 + </button>
  21 +
  22 + <button class="btn btn-clear" ng-click="visualizarProcesso();" ng-show="solicitacaoReaberturaProcesso.processo">
  23 + <i class="fa fa-eye "></i>
  24 + <translate>ECM.LABEL.VISUALIZAR_PROCESSO</translate>
  25 + </button>
  26 +
  27 + </div>
  28 + <!-- .col -->
  29 +
  30 + <div class="col-sm-4 text-right">
  31 +
  32 + <favorito />
  33 +
  34 + <help-button workspace="workspace" />
  35 +
  36 + </div>
  37 + <!-- .col -->
  38 + </div>
  39 + <!-- .row -->
  40 + </div>
  41 + <!-- .bar-buttons-action -->
  42 +
  43 + <breadcrumb ng-workspace="workspace"></breadcrumb>
  44 +
  45 + <form name="solicitacaoReaberturaProcessoForm">
  46 + <p>
  47 + <small>( <span class="red">*</span> ) <translate>LABEL.CAMPOS_OBRIGATORIOS</translate></small>
  48 + </p>
  49 +
  50 + <fieldset>
  51 +
  52 + <legend>
  53 + <translate>ECM.LABEL.DADOS_SOLICITACAO</translate>
  54 + </legend>
  55 +
  56 + </fieldset>
  57 +
  58 + <div class="row">
  59 + <div class="col-sm-8">
  60 + <auto-complete ng-id="solicitacaoReaberturaProcesso.processo" ng-disabled='!edit' ng-obrigatorio='true' ng-label="ECM.LABEL.PROTOCOLO" ng-model="solicitacaoReaberturaProcesso.processo" form='solicitacaoReaberturaProcessoForm' ng-find="findAutoCompleteProcesso(value)"
  61 + ng-item="item.nup" />
  62 +
  63 + </div>
  64 +
  65 + </div>
  66 +
  67 +
  68 + <div class="row">
  69 + <div class="col-sm-8">
  70 + <label-text-area ng-id="solicitacaoReaberturaProcesso.justificativaSolicitacao" ng-disabled="!edit" ng-typ="text" ng-obrigatorio='true' ng-label="ECM.LABEL.JUSTIFICATIVA" form='solicitacaoReaberturaProcessoForm' ng-model="solicitacaoReaberturaProcesso.justificativaSolicitacao"
  71 + ng-custom-maxlength='255' />
  72 + </div>
  73 + </div>
  74 +
  75 + <div ng-if= "solicitacaoReaberturaProcesso.id">
  76 + <div class="row" >
  77 + <div class="col-sm-8">
  78 + <label-input ng-id="status" ng-label="ECM.LABEL.STATUS" ng-model="status" form="solicitacaoReaberturaProcessoForm" ng-obrigatorio="true" ng-custom-maxlength="255" ng-type="text" ng-disabled="solicitacaoReaberturaProcesso.id" />
  79 + </div>
  80 + </div>
  81 +
  82 + <div class="row" ng-if="solicitacaoReaberturaProcesso.id && solicitacaoReaberturaProcesso.status.codigo == 3">
  83 + <div class="col-sm-8">
  84 + <label-text-area ng-id="solicitacaoReaberturaProcesso.justificativaRejeicao" ng-disabled="solicitacaoReaberturaProcesso.id" ng-typ="text" ng-obrigatorio='false' ng-label="ECM.LABEL.JUSTIFICATIVAREJEICAO" form='solicitacaoReaberturaProcessoForm' ng-model="solicitacaoReaberturaProcesso.justificativaRejeicao"
  85 + ng-custom-maxlength='255' />
  86 + </div>
  87 + </div>
  88 + </div>
  89 + </form>
  90 +</div>
  91 +<!-- .page-content -->
... ...
cit-ecm-web/src/main/webapp/html/solicitacaoReaberturaProcesso/solicitacaoReaberturaProcessoList.html 0 → 100644
... ... @@ -0,0 +1,41 @@
  1 +<div id="searchProcesso" class="page-content" ng-controller="SolicitacaoReaberturaProcessoListController">
  2 + <div class="bar-buttons-action fixed">
  3 + <div class="row">
  4 + <div class="col-sm-8 text-left">
  5 +
  6 + <button class="btn btn-clear" ng-click="$showPageEditWorkspace(workspace); resetForm();">
  7 + <i class="fa fa-plus-circle yellow-dark"></i>
  8 + <translate>LABEL.CADASTRAR</translate>
  9 + </button>
  10 +
  11 + <button class="btn btn-clear" ng-click="abrirVisualizar(false);">
  12 + <i class="fa fa-search blue"></i>
  13 + <translate>LABEL.VISUALIZAR</translate>
  14 + </button>
  15 +
  16 + <span class="divider-vertical"></span>
  17 +
  18 + <filtros ng-filter="filterCriteria" ng-workspace="workspace"></filtros>
  19 +
  20 + </div>
  21 + <!-- .col -->
  22 +
  23 + <div class="col-sm-4 text-right">
  24 +
  25 + <favorito />
  26 +
  27 + <help-button workspace="workspace" />
  28 +
  29 + </div>
  30 + <!-- .col -->
  31 + </div>
  32 + <!-- .row -->
  33 + </div>
  34 + <!-- .bar-buttons-action -->
  35 +
  36 + <breadcrumb ng-workspace="workspace"></breadcrumb>
  37 +
  38 + <list-view ng-lista="reabrirProcessoList" ng-repository="ReabrirProcessoRepository" ng-use-custom-remove="false" ng-headers="headers" ng-filter-criteria="filterCriteria" ng-item-selecionado="solicitacaoReaberturaProcessoChecked"></list-view>
  39 +
  40 +</div>
  41 +<!-- .page-content -->
... ...