Commit 5ee9806fc6887fd05f323dd150fccfb84c95dd25
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
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<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<Processo, Long> { |
| 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<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<Processo, Long> 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<Processo, Long> 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<Processo> { |
| 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('ProcessoRepository', ['RestangularEcm', 'AbstractRepository', 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
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 --> | ... | ... |