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 --> | ... | ... |