Commit b5aa385d5f65e7440fb80daaa7747220ea253129

Authored by maycon.silva
2 parents 2b0dc333 da69d4bb
Exists in master

Merge remote-tracking branch 'remotes/origin/tarefa-4599' into desenvolvimento

# Conflicts:
#	cit-ecm-api/src/main/java/br/com/centralit/api/dao/impl/ProcessoDaoHibernate.java
#	cit-ecm-api/src/main/java/br/com/centralit/api/dao/impl/UnidadeProcessoDaoHibernate.java
#	cit-ecm-api/src/main/java/br/com/centralit/api/framework/json/ViewsEcm.java
#	cit-ecm-api/src/main/java/br/com/centralit/api/model/NivelAcessoTipoProcesso.java
#	cit-ecm-api/src/main/java/br/com/centralit/api/model/PlanoClassificacao.java
#	cit-ecm-api/src/main/java/br/com/centralit/api/model/Processo.java
#	cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/ProcessoServiceImpl.java
#	cit-ecm-web/src/main/java/br/com/centralit/listener/StartupListenerEcm.java
#	cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/ClassificarDocumentoProcessoController.js
#	cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/ClassificarDocumentoProcessoListController.js
#	cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/GerenciarProcessoController.js
#	cit-ecm-web/src/main/webapp/html/gerenciarProcesso/includeAcaoProcesso.html
#	cit-ecm-web/src/main/webapp/html/gerenciarProcesso/includeDocumentosProcesso.html
#	cit-ecm-web/src/main/webapp/html/processo/processoEdit.html
Showing 47 changed files with 1087 additions and 670 deletions   Show diff stats
cit-ecm-api/src/main/java/br/com/centralit/api/dao/ProcessoDao.java
... ... @@ -5,6 +5,7 @@ import java.util.Collection;
5 5  
6 6 import br.com.centralit.api.model.Processo;
7 7 import br.com.centralit.framework.dao.arquitetura.CitGenericDAO;
  8 +import br.com.centralit.framework.model.Dominio;
8 9  
9 10 import com.googlecode.genericdao.search.ISearch;
10 11 import com.googlecode.genericdao.search.SearchResult;
... ... @@ -155,6 +156,23 @@ public interface ProcessoDao extends CitGenericDAO {
155 156 * @return <RT> SearchResult<RT>
156 157 */
157 158 <RT> SearchResult<RT> searchAndCountPorSigilo(ISearch search);
  159 +
  160 +
  161 + /**
  162 + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p>
  163 + *
  164 + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>
  165 + *
  166 + * Método responsável por
  167 + *
  168 + * @author maycon.silva
  169 + *
  170 + * @param nup
  171 + * @param dominio
  172 + * @return
  173 + */
  174 + Collection<Processo> autoCompleteProcessoByNupAndStatus(String nup, Dominio dominio);
  175 +
158 176  
159 177 /**
160 178 * <p>
... ... @@ -174,4 +192,6 @@ public interface ProcessoDao extends CitGenericDAO {
174 192 */
175 193 boolean isSigiloso(Long id);
176 194  
  195 + Collection<Processo> autoCompleteProcessoEmAndamentoByNup(String nup);
  196 +
177 197 }
... ...
cit-ecm-api/src/main/java/br/com/centralit/api/dao/UnidadeProcessoDao.java
... ... @@ -99,6 +99,21 @@ public interface UnidadeProcessoDao extends CitGenericDAO {
99 99 * @return
100 100 */
101 101 Collection<UnidadeProcesso> findProcesso(Processo processo);
  102 +
  103 + /**
  104 + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p>
  105 + *
  106 + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>
  107 + *
  108 + * Método responsável por
  109 + *
  110 + * @author maycon.silva
  111 + *
  112 + * @param processo
  113 + * @return
  114 + */
  115 + public Collection<UnidadeProcesso> findByPorIdProcessoEmExecucao(Long idProcesso);
  116 +
102 117  
103 118 /**
104 119 * <p>
... ... @@ -118,6 +133,22 @@ public interface UnidadeProcessoDao extends CitGenericDAO {
118 133 * @return UnidadeProcesso
119 134 */
120 135 UnidadeProcesso obterPorUnidadeEProcesso(Long idProcesso, Long idUnidade);
  136 +
  137 +
  138 + /**
  139 + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p>
  140 + *
  141 + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>
  142 + *
  143 + * Método responsável por
  144 + *
  145 + * @author maycon.silva
  146 + *
  147 + * @param idProcesso
  148 + * @param idUnidade
  149 + * @return
  150 + */
  151 + UnidadeProcesso obterPorUnidadeEProcessoEmExecucao(Long idProcesso, Long idUnidade);
121 152  
122 153 /**
123 154 * Método responsável por listar processos através da unidade do usuário
... ...
cit-ecm-api/src/main/java/br/com/centralit/api/dao/impl/ProcessoDaoHibernate.java
... ... @@ -21,11 +21,13 @@ import br.com.centralit.api.model.Processo;
21 21 import br.com.centralit.api.model.SigiloPrivilegio;
22 22 import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl;
23 23 import br.com.centralit.framework.dao.arquitetura.SearchSeven;
  24 +import br.com.centralit.framework.model.Dominio;
24 25 import br.com.centralit.framework.model.Usuario;
25 26 import br.com.centralit.framework.util.UtilObjeto;
26 27  
27 28 import com.googlecode.genericdao.search.Filter;
28 29 import com.googlecode.genericdao.search.ISearch;
  30 +import com.googlecode.genericdao.search.Search;
29 31 import com.googlecode.genericdao.search.SearchResult;
30 32  
31 33 /**
... ... @@ -246,5 +248,40 @@ public class ProcessoDaoHibernate extends CitGenericDAOImpl implements ProcessoD
246 248  
247 249 return UtilObjeto.isReferencia(criteria.uniqueResult());
248 250 }
  251 +
  252 + public Collection<Processo> autoCompleteProcessoByNupAndStatus(String nup, Dominio dominio){
  253 +
  254 + Search search = new SearchSeven(this.persistentClass);
  255 +
  256 + search.addFilterOr(Filter.ilike("nup", "%" + nup + "%"), Filter.ilike("nup", "%" + nup + "%"));
  257 +
  258 + search.addFilterEqual("status.id", dominio.getId());
  259 +
  260 + search.addSortDesc("id");
  261 +
  262 + search.setMaxResults(10);
249 263  
  264 + return this.search(search);
  265 +
  266 + }
  267 +
  268 + @Override
  269 + public Collection<Processo> autoCompleteProcessoEmAndamentoByNup(String nup) {
  270 +
  271 + Search search = new SearchSeven(this.persistentClass);
  272 +
  273 + search.addFilterOr(Filter.ilike("nup", "%" + nup + "%"), Filter.ilike("nup", "%" + nup + "%"));
  274 +
  275 + search.getFilters().add(Filter.notEqual("status.codigo", 1L));
  276 +
  277 + search.getFilters().add(Filter.notEqual("status.codigo", 5L));
  278 +
  279 + search.getFilters().add(Filter.notEqual("status.codigo", 3L));
  280 +
  281 + search.addSortDesc("id");
  282 +
  283 + search.setMaxResults(10);
  284 +
  285 + return this.search(search);
  286 + }
250 287 }
... ...
cit-ecm-api/src/main/java/br/com/centralit/api/dao/impl/UnidadeProcessoDaoHibernate.java
... ... @@ -93,7 +93,7 @@ public class UnidadeProcessoDaoHibernate extends CitGenericDAOImpl implements Un
93 93 return this.search(searchSeven);
94 94  
95 95 }
96   -
  96 +
97 97 /**
98 98 *
99 99 * <p>
... ... @@ -203,7 +203,7 @@ public class UnidadeProcessoDaoHibernate extends CitGenericDAOImpl implements Un
203 203 searchSeven.addFilterEqual("processo.id", idProcesso);
204 204  
205 205 searchSeven.addFilterEqual("unidade.id", idUnidade);
206   -
  206 +
207 207 searchSeven.setMaxResults(1);
208 208  
209 209 return this.searchUnique(searchSeven);
... ... @@ -230,6 +230,8 @@ public class UnidadeProcessoDaoHibernate extends CitGenericDAOImpl implements Un
230 230  
231 231 // Filtro da unidade, para processos públicos e restritos.
232 232 search.getFilters().add(Filter.or(Filter.not(Filter.equal("processo.status.id", idStatus)), Filter.isEmpty("processo.status.id")));
  233 +
  234 + search.getFilters().add(Filter.notEqual("processo.status.codigo", 5L));
233 235  
234 236 // Verifica se o usuario está lotado na unidade
235 237 if (UtilObjeto.isReferencia(usuario.getUnidade())) {
... ... @@ -321,4 +323,34 @@ public class UnidadeProcessoDaoHibernate extends CitGenericDAOImpl implements Un
321 323  
322 324 return detachedCriteriaPrivilegio;
323 325 }
  326 +
  327 + /**
  328 + *
  329 + */
  330 + public Collection<UnidadeProcesso> findByPorIdProcessoEmExecucao(Long idProcesso) {
  331 +
  332 + SearchSeven searchSeven = new SearchSeven();
  333 +
  334 + searchSeven.addFilterEqual("processo.id", idProcesso);
  335 +
  336 + searchSeven.addFilterOr(Filter.equal("concluido", false), Filter.isNull("concluido"));
  337 +
  338 + return this.search(searchSeven);
  339 +
  340 + }
  341 +
  342 + public UnidadeProcesso obterPorUnidadeEProcessoEmExecucao(Long idProcesso, Long idUnidade) {
  343 +
  344 + SearchSeven searchSeven = new SearchSeven();
  345 +
  346 + searchSeven.addFilterEqual("processo.id", idProcesso);
  347 +
  348 + searchSeven.addFilterEqual("unidade.id", idUnidade);
  349 +
  350 + searchSeven.addFilterOr( Filter.isNull("concluido"));
  351 +
  352 + searchSeven.setMaxResults(1);
  353 +
  354 + return this.searchUnique(searchSeven);
  355 + }
324 356 }
... ...
cit-ecm-api/src/main/java/br/com/centralit/api/framework/json/ViewsEcm.java
... ... @@ -110,5 +110,6 @@ public class ViewsEcm extends Views {
110 110  
111 111 public static class TarjaAssinaturaEditview extends ViewsEcm.TarjaAssinaturaListview{};
112 112  
113   -
  113 + public static class MetadadoProcessoView extends Views.GenericView{};
  114 +
114 115 }
... ...
cit-ecm-api/src/main/java/br/com/centralit/api/model/AcaoHistoricoAlteracaoProcesso.java
... ... @@ -63,6 +63,19 @@ public class AcaoHistoricoAlteracaoProcesso extends PersistentObject {
63 63 public static String ASSINAR_DOCUMENTO_CHAVE = "ASSINAR_DOCUMENTO";
64 64 public static String ASSINAR_DOCUMENTO_ACAO = "Assinatura de documento";
65 65 public static String ASSINAR_DOCUMENTO_DESCRICAO = "O documento <<tipo_documento>> <<numero_documento>> foi assinado por <<usuario>>.";
  66 +
  67 + public static String ALTERAR_ATRIBUICAO_PROCESSO_DESCRICAO = "Processo atribuído a <<usuario>>.";
  68 + public static String ALTERAR_ATRIBUICAO_PROCESSO_ACAO = "Alteração de atribuição de Processo";
  69 + public static String ALTERAR_ATRIBUICAO_PROCESSO_CHAVE = "ALTERAR_ATRIBUICAO_PROCESSO";
  70 +
  71 + public static String INICIAR_ATRIBUICAO_PROCESSO_DESCRICAO = "Processo atribuído a <<usuario>>.";
  72 + public static String INICIAR_ATRIBUICAO_PROCESSO_ACAO = "Atribuição do processo";
  73 + public static String INICIAR_ATRIBUICAO_PROCESSO_CHAVE = "INICIAR_ATRIBUICAO_PROCESSO";
  74 +
  75 + public static String INCLUSAO_PROCESSO_DESCRICAO = "Processo <<protocolo>> criado.";
  76 + public static String INCLUSAO_PROCESSO_ACAO = "Inclusão do processo";
  77 + public static String INCLUSAO_PROCESSO_CHAVE = "INCLUSAO_PROCESSO";
  78 +
66 79  
67 80 public AcaoHistoricoAlteracaoProcesso() {
68 81  
... ...
cit-ecm-api/src/main/java/br/com/centralit/api/model/DocumentoGed.java
... ... @@ -241,7 +241,7 @@ public class DocumentoGed extends PersistentObjectUnidade implements Cloneable {
241 241 private Collection<InteressadoDocumento> interessados;
242 242  
243 243 @OneToMany(fetch = FetchType.LAZY, mappedBy = "documentoGed")
244   - @JsonView({ Views.DocumentoGedEdit.class, ViewsEcm.DocumentoGedEdit.class, Views.ProcessoEdit.class })
  244 + @JsonView({ Views.DocumentoGedEdit.class, Views.ProcessoEdit.class })
245 245 private Collection<Assinatura> assinaturas;
246 246  
247 247 /**
... ...
cit-ecm-api/src/main/java/br/com/centralit/api/model/HipoteseLegal.java
... ... @@ -69,7 +69,7 @@ public class HipoteseLegal extends PersistentObjectAudit {
69 69 private String descricao;
70 70  
71 71 /** Atributo nome. */
72   - @JsonView({ ViewsEcm.HipoteseLegalList.class, ViewsEcm.TipoProcessoList.class, ViewsEcm.TipoDocumentoEdit.class, ViewsEcm.NivelAcessoTipoDocumentoEdit.class, ViewsEcm.DocumentoGedEdit.class, ViewsEcm.ProcessoEdit.class, ViewsEcm.NivelAcessoTipoProcessoEdit.class })
  72 + @JsonView({ ViewsEcm.HipoteseLegalList.class, ViewsEcm.TipoProcessoList.class, ViewsEcm.TipoDocumentoEdit.class, ViewsEcm.NivelAcessoTipoDocumentoEdit.class, ViewsEcm.DocumentoGedEdit.class, ViewsEcm.ProcessoEdit.class, ViewsEcm.NivelAcessoTipoProcessoEdit.class, ViewsEcm.MetadadoProcessoView.class })
73 73 private String nome;
74 74  
75 75 /** Atributo fundamentacaoLegal. */
... ...
cit-ecm-api/src/main/java/br/com/centralit/api/model/InteressadoProcesso.java
... ... @@ -63,7 +63,7 @@ public class InteressadoProcesso extends PersistentObjectAudit {
63 63  
64 64 /** Atributo interessado. */
65 65 @ManyToOne(fetch = FetchType.LAZY)
66   - @JsonView({ ViewsEcm.ProcessoEdit.class })
  66 + @JsonView({ ViewsEcm.ProcessoEdit.class, ViewsEcm.MetadadoProcessoView.class })
67 67 private Pessoa interessado;
68 68  
69 69 /**
... ...
cit-ecm-api/src/main/java/br/com/centralit/api/model/NivelAcessoTipoProcesso.java
... ... @@ -72,11 +72,11 @@ public class NivelAcessoTipoProcesso extends PersistentObjectAudit {
72 72  
73 73 /** Atributo tipoAcesso. */
74 74 @ManyToOne(fetch = FetchType.LAZY)
75   - @JsonView({ ViewsEcm.TipoProcessoEdit.class, ViewsEcm.NivelAcessoTipoProcessoEdit.class, Views.ProcessoList.class, Views.UnidadeProcessoListView.class })
  75 + @JsonView({ ViewsEcm.TipoProcessoEdit.class, ViewsEcm.NivelAcessoTipoProcessoEdit.class, Views.ProcessoList.class, Views.UnidadeProcessoListView.class, ViewsEcm.MetadadoProcessoView.class })
76 76 private Dominio nivelAcesso;
77 77  
78 78 @OneToMany(fetch = FetchType.LAZY, mappedBy = "nivelAcessoTipoProcesso", cascade = CascadeType.ALL)
79   - @JsonView({ ViewsEcm.TipoProcessoEdit.class, ViewsEcm.NivelAcessoTipoProcessoEdit.class, ViewsEcm.ProcessoEdit.class })
  79 + @JsonView({ ViewsEcm.TipoProcessoEdit.class, ViewsEcm.NivelAcessoTipoProcessoEdit.class, ViewsEcm.ProcessoEdit.class, ViewsEcm.MetadadoProcessoView.class })
80 80 private Collection<SigiloTipoProcesso> sigilos;
81 81  
82 82 /**
... ...
cit-ecm-api/src/main/java/br/com/centralit/api/model/PlanoClassificacao.java
... ... @@ -100,7 +100,7 @@ public class PlanoClassificacao extends PersistentObjectAuditOrganizacao impleme
100 100 private Boolean permitirUsarComoClassificacao;
101 101  
102 102 @Transient
103   - @JsonView({ ViewsEcm.PlanoCLassificacaoAutoComplete.class, ViewsEcm.TipoDocumentoEdit.class, ViewsEcm.TipoProcessoEdit.class, Views.ProcessoList.class, Views.DocumentoGedEdit.class, ViewsEcm.TipoDocumentoPlanoClassificacaoAutoCompleteView.class, Views.UnidadeProcessoListView.class })
  103 + @JsonView({ ViewsEcm.PlanoCLassificacaoAutoComplete.class, ViewsEcm.TipoDocumentoEdit.class, ViewsEcm.TipoProcessoEdit.class, Views.ProcessoList.class, Views.DocumentoGedEdit.class, ViewsEcm.TipoDocumentoPlanoClassificacaoAutoCompleteView.class, Views.UnidadeProcessoListView.class, ViewsEcm.MetadadoProcessoView.class })
104 104 private String assunto;
105 105  
106 106 /** Atributo tipoDestinacao. */
... ...
cit-ecm-api/src/main/java/br/com/centralit/api/model/Processo.java
... ... @@ -84,7 +84,7 @@ public class Processo extends PersistentObjectUnidade {
84 84 private Long id;
85 85  
86 86 /** Atributo assuntoComplementar. */
87   - @JsonView({ Views.ProcessoList.class, Views.UnidadeProcessoListView.class })
  87 + @JsonView({ Views.ProcessoList.class, Views.UnidadeProcessoListView.class, ViewsEcm.MetadadoProcessoView.class })
88 88 private String assuntoComplementar;
89 89  
90 90 /** Atributo dataReferencia. */
... ... @@ -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 })
  104 + @JsonView({ Views.ProcessoList.class, Views.ProcessoRelacionadoList.class, Views.AnexarProcesso.class, Views.ProcessoAutoCompleteView.class, Views.UnidadeProcessoListView.class, ViewsEcm.MetadadoProcessoView.class })
105 105 private String nup;
106 106  
107 107 /** Atributo nome. */
... ... @@ -111,8 +111,11 @@ public class Processo extends PersistentObjectUnidade {
111 111 @Transient
112 112 private Long idTask;
113 113  
  114 + @JsonView({ ViewsEcm.ProcessoList.class })
  115 + private Boolean aprovado;
  116 +
114 117 /** Atributo observacaoGeral. */
115   - @JsonView({ Views.ProcessoEdit.class })
  118 + @JsonView({ Views.ProcessoEdit.class, ViewsEcm.MetadadoProcessoView.class })
116 119 private String observacaoGeral;
117 120  
118 121 @JsonView({ Views.ProcessoEdit.class })
... ... @@ -134,13 +137,13 @@ public class Processo extends PersistentObjectUnidade {
134 137 private Calendar prazoSigilo;
135 138  
136 139 /** Atributo nup. */
137   - @JsonView({ Views.ProcessoEdit.class })
  140 + @JsonView({ Views.ProcessoEdit.class, ViewsEcm.MetadadoProcessoView.class })
138 141 @ManyToOne(fetch = FetchType.LAZY)
139 142 private Dominio tipoProtocolo;
140 143  
141 144 /** Atributo status. */
142 145 @ManyToOne(fetch = FetchType.LAZY)
143   - @JsonView({ Views.ProcessoEdit.class, Views.UnidadeProcessoListView.class })
  146 + @JsonView({ Views.ProcessoEdit.class, Views.UnidadeProcessoListView.class, Views.ProcessoAutoCompleteView.class, ViewsEcm.MetadadoProcessoView.class })
144 147 private Dominio status;
145 148  
146 149 /** Atributo tramitarDocumento. */
... ... @@ -149,22 +152,22 @@ public class Processo extends PersistentObjectUnidade {
149 152 private TramitarDocumento tramitarDocumento;
150 153  
151 154 /** Atributo tipoProcesso. */
152   - @JsonView({ Views.ProcessoList.class, Views.ProcessoRelacionadoList.class, Views.AnexarProcesso.class, Views.UnidadeProcessoListView.class })
  155 + @JsonView({ Views.ProcessoList.class, Views.ProcessoRelacionadoList.class, Views.AnexarProcesso.class, Views.UnidadeProcessoListView.class, ViewsEcm.MetadadoProcessoView.class, Views.ProcessoAutoCompleteView.class })
153 156 @ManyToOne(fetch = FetchType.LAZY)
154 157 private TipoProcesso tipoProcesso;
155 158  
156 159 /** Atributo assunto. */
157 160 @ManyToOne(fetch = FetchType.LAZY)
158   - @JsonView({ Views.ProcessoList.class, Views.UnidadeProcessoListView.class })
  161 + @JsonView({ Views.ProcessoList.class, Views.UnidadeProcessoListView.class, ViewsEcm.MetadadoProcessoView.class })
159 162 private PlanoClassificacao assunto;
160 163  
161 164 /** Atributo nivelAcesso. */
162 165 @ManyToOne(fetch = FetchType.LAZY)
163   - @JsonView({ Views.ProcessoList.class, Views.UnidadeProcessoListView.class })
  166 + @JsonView({ Views.ProcessoList.class, Views.UnidadeProcessoListView.class, ViewsEcm.MetadadoProcessoView.class })
164 167 private NivelAcessoTipoProcesso nivelAcesso;
165 168  
166 169 @ManyToOne(fetch = FetchType.LAZY)
167   - @JsonView({ Views.ProcessoList.class })
  170 + @JsonView({ Views.ProcessoList.class, ViewsEcm.MetadadoProcessoView.class })
168 171 private NivelAcessoTipoProcesso nivelAcessoOriginal;
169 172  
170 173 /** Atributo anexoProcesso. */
... ... @@ -174,7 +177,7 @@ public class Processo extends PersistentObjectUnidade {
174 177  
175 178 /** Atributo hipoteseLegal. */
176 179 @ManyToOne(fetch = FetchType.LAZY)
177   - @JsonView({ Views.ProcessoEdit.class })
  180 + @JsonView({ Views.ProcessoEdit.class, ViewsEcm.MetadadoProcessoView.class })
178 181 private HipoteseLegal hipoteseLegal;
179 182  
180 183 /** Atributo cienciaProcesso. */
... ... @@ -184,11 +187,11 @@ public class Processo extends PersistentObjectUnidade {
184 187  
185 188 /** Atributo sigilo. */
186 189 @ManyToOne(fetch = FetchType.LAZY)
187   - @JsonView({ Views.ProcessoList.class })
  190 + @JsonView({ Views.ProcessoList.class, ViewsEcm.MetadadoProcessoView.class })
188 191 private Sigilo sigilo;
189 192  
190 193 @ManyToOne(fetch = FetchType.LAZY)
191   - @JsonView({ Views.ProcessoList.class })
  194 + @JsonView({ Views.ProcessoList.class, ViewsEcm.MetadadoProcessoView.class })
192 195 private Sigilo sigiloOriginal;
193 196  
194 197 /** Atributo temporalidade. */
... ... @@ -199,7 +202,7 @@ public class Processo extends PersistentObjectUnidade {
199 202  
200 203 /** Atributo Interessados. */
201 204 @OneToMany(fetch = FetchType.LAZY, mappedBy = "processo", cascade = CascadeType.ALL, orphanRemoval = true)
202   - @JsonView({ Views.ProcessoEdit.class })
  205 + @JsonView({ Views.ProcessoEdit.class, ViewsEcm.MetadadoProcessoView.class })
203 206 private Collection<InteressadoProcesso> interessados;
204 207  
205 208 /** Atributo documentos. */
... ... @@ -228,6 +231,10 @@ public class Processo extends PersistentObjectUnidade {
228 231 /** Atributo unidadesProcesso. */
229 232 @OneToMany(fetch = FetchType.LAZY, mappedBy = "processo", cascade = CascadeType.ALL)
230 233 private Collection<UnidadeProcesso> unidadesProcesso;
  234 +
  235 + @Transient
  236 + @JsonView({ Views.ProcessoEdit.class })
  237 + private boolean tramitado;
231 238  
232 239 /**
233 240 * Retorna o valor do atributo <code>id</code>
... ... @@ -860,6 +867,7 @@ public class Processo extends PersistentObjectUnidade {
860 867 this.unidadesProcesso = unidadesProcesso;
861 868 }
862 869  
  870 +
863 871 /**
864 872 * <p>
865 873 * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>
... ... @@ -875,10 +883,11 @@ public class Processo extends PersistentObjectUnidade {
875 883 *
876 884 * @return boolean
877 885 */
878   - /* @JsonView({ Views.ProcessoEdit.class }) */
879   - public boolean isTramitado() {
880   -
  886 + public boolean getTramitado() {
  887 +
881 888 return !UtilColecao.isVazio(this.getUnidadesProcesso()) && this.getUnidadesProcesso().size() > 1;
882 889 }
  890 +
  891 +
883 892  
884 893 }
... ...
cit-ecm-api/src/main/java/br/com/centralit/api/model/SigiloTipoProcesso.java
... ... @@ -66,7 +66,7 @@ public class SigiloTipoProcesso extends PersistentObjectAudit {
66 66  
67 67 /** Atributo sigilo. */
68 68 @ManyToOne(fetch = FetchType.LAZY)
69   - @JsonView({ ViewsEcm.TipoProcessoEdit.class, ViewsEcm.NivelAcessoTipoProcessoEdit.class, ViewsEcm.ProcessoEdit.class })
  69 + @JsonView({ ViewsEcm.TipoProcessoEdit.class, ViewsEcm.NivelAcessoTipoProcessoEdit.class, ViewsEcm.ProcessoEdit.class, ViewsEcm.MetadadoProcessoView.class })
70 70 private Sigilo sigilo;
71 71  
72 72 /**
... ...
cit-ecm-api/src/main/java/br/com/centralit/api/model/TipoProcesso.java
... ... @@ -67,7 +67,7 @@ public class TipoProcesso extends PersistentObjectUnidade {
67 67 private String descricao;
68 68  
69 69 /** Atributo nome. */
70   - @JsonView({ ViewsEcm.TipoProcessoList.class, Views.ProcessoList.class, Views.ProcessoRelacionadoList.class })
  70 + @JsonView({ ViewsEcm.TipoProcessoList.class, Views.ProcessoList.class, Views.ProcessoRelacionadoList.class, ViewsEcm.MetadadoProcessoView.class })
71 71 private String nome;
72 72  
73 73 /** Atributo nome. */
... ...
cit-ecm-api/src/main/java/br/com/centralit/api/service/HistoricoAlteracaoProcessoService.java
... ... @@ -4,6 +4,8 @@ import java.util.Collection;
4 4  
5 5 import br.com.centralit.api.model.Assinatura;
6 6 import br.com.centralit.api.model.HistoricoAlteracaoProcesso;
  7 +import br.com.centralit.api.model.Processo;
  8 +import br.com.centralit.api.model.UnidadeProcesso;
7 9 import br.com.centralit.framework.service.arquitetura.GenericService;
8 10  
9 11 /**
... ... @@ -102,4 +104,33 @@ public interface HistoricoAlteracaoProcessoService extends GenericService&lt;Histor
102 104 * @param assinatura
103 105 */
104 106 void gerarHistoricoAssinatura(Assinatura assinatura);
  107 +
  108 + /**
  109 + * Método responsável por gerar Histórico de alteracao do precesso atribuição
  110 + *
  111 + * @author maycon.silva
  112 + *
  113 + * @param unidadeProcesso
  114 + */
  115 + void gerarHistoricoAtribuicao(UnidadeProcesso unidadeProcesso);
  116 +
  117 + /**
  118 + *
  119 + * Método responsável por
  120 + *
  121 + * @author maycon.silva
  122 + *
  123 + * @param processo
  124 + */
  125 + void gerarHistoricoIniciacaoProcesso(Processo processo);
  126 +
  127 +
  128 + /**
  129 + * Método responsável por
  130 + *
  131 + * @author maycon.silva
  132 + *
  133 + * @param unidadeProcesso
  134 + */
  135 + void gerarHistoricoCapturaDeProcesso(UnidadeProcesso unidadeProcesso);
105 136 }
... ...
cit-ecm-api/src/main/java/br/com/centralit/api/service/ProcessoService.java
1 1 package br.com.centralit.api.service;
2 2  
  3 +import java.util.Collection;
  4 +
3 5 import br.com.centralit.api.model.PlanoClassificacao;
4 6 import br.com.centralit.api.model.Processo;
5 7 import br.com.centralit.framework.service.arquitetura.GenericService;
... ... @@ -221,5 +223,19 @@ public interface ProcessoService extends GenericService&lt;Processo, Long&gt; {
221 223 * @return <RT> SearchResult<RT>
222 224 */
223 225 <RT> SearchResult<RT> searchAndCountPorSigilo(ISearch search);
  226 +
  227 + /**
  228 + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p>
  229 + *
  230 + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>
  231 + *
  232 + * Método responsável por
  233 + *
  234 + * @author maycon.silva
  235 + *
  236 + * @param nup
  237 + * @return
  238 + */
  239 + Collection<Processo> autoCompleteProcessoEmAndametoByNup(String nup);
224 240  
225 241 }
... ...
cit-ecm-api/src/main/java/br/com/centralit/api/service/UnidadeProcessoService.java
... ... @@ -78,6 +78,20 @@ public interface UnidadeProcessoService extends GenericService&lt;UnidadeProcesso,
78 78 * @return
79 79 */
80 80 Collection<UnidadeProcesso> findByIdProcesso(Long idProcesso);
  81 +
  82 + /**
  83 + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p>
  84 + *
  85 + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>
  86 + *
  87 + * Método responsável por
  88 + *
  89 + * @author maycon.silva
  90 + *
  91 + * @param idProcesso
  92 + * @return
  93 + */
  94 + Collection<UnidadeProcesso> findByPorIdProcessoEmExecucao(Long idProcesso);
81 95  
82 96 /**
83 97 * <p>
... ... @@ -171,6 +185,21 @@ public interface UnidadeProcessoService extends GenericService&lt;UnidadeProcesso,
171 185 * @param processo
172 186 */
173 187 void saveUnidadeProcesso(Processo processo);
  188 +
  189 + /**
  190 + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p>
  191 + *
  192 + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>
  193 + *
  194 + * Método responsável por
  195 + *
  196 + * @author maycon.silva
  197 + *
  198 + * @param idProcesso
  199 + * @param idUnidade
  200 + * @return
  201 + */
  202 + UnidadeProcesso obterPorUnidadeEProcessoEmExecucao(Long idProcesso, Long idUnidade);
174 203  
175 204 /**
176 205 * Método responsável por listar processos através da unidade do usuário
... ...
cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/AnexarProcessoServiceImpl.java
... ... @@ -14,13 +14,12 @@ import br.com.centralit.api.model.Processo;
14 14 import br.com.centralit.api.service.AnexarProcessoService;
15 15 import br.com.centralit.api.service.AnexoGedService;
16 16 import br.com.centralit.api.service.DocumentoGedService;
  17 +import br.com.centralit.api.service.DominioService;
17 18 import br.com.centralit.api.service.ProcessoService;
18 19 import br.com.centralit.api.viewHelper.AnexarProcessoVH;
19   -import br.com.centralit.framework.esi.enumerated.EventTargetEnum;
20   -import br.com.centralit.framework.esi.environment.EnvironmentVariable;
21   -import br.com.centralit.framework.esi.environment.SignalEventInput;
22 20 import br.com.centralit.framework.exception.BusinessException;
23 21 import br.com.centralit.framework.exception.CodigoErro;
  22 +import br.com.centralit.framework.model.Dominio;
24 23 import br.com.centralit.framework.service.arquitetura.GedFileService;
25 24 import br.com.centralit.framework.service.arquitetura.GenericServiceImpl;
26 25 import br.com.centralit.framework.util.UtilColecao;
... ... @@ -83,6 +82,9 @@ public class AnexarProcessoServiceImpl extends GenericServiceImpl&lt;AnexoProcesso,
83 82  
84 83 @Autowired
85 84 private DocumentoGedService documentoGedService;
  85 +
  86 + @Autowired
  87 + private DominioService dominioService;
86 88  
87 89 /**
88 90 * Responsável pela criação de novas instâncias desta classe.
... ... @@ -127,6 +129,8 @@ public class AnexarProcessoServiceImpl extends GenericServiceImpl&lt;AnexoProcesso,
127 129 for (AnexoProcesso anexoProcesso : anexarProcessoVH.getListaProcessoAnexado()) {
128 130  
129 131 Processo processoFilho = this.processoService.getReference(anexoProcesso.getProcessoAnexado().getId());
  132 +
  133 + processoFilho.setStatus(this.dominioService.findByChaveAndCodigo(Dominio.TIPO_STATUS_PROCESSO_ECM, 5L));
130 134  
131 135 if (UtilDate.diferencaHoras(processoPai.getDataCriacao().getTime(), processoFilho.getDataCriacao().getTime()) < 0) {
132 136  
... ... @@ -348,9 +352,6 @@ public class AnexarProcessoServiceImpl extends GenericServiceImpl&lt;AnexoProcesso,
348 352  
349 353 for (AnexoProcesso processoAnexado : anexarProcessoVH.getListaProcessoAnexado()) {
350 354  
351   - /*AnexoProcesso anexoProcesso = this.anexarProcessoDao.verificarUnicidadeAnexoProcesso(processoAnexado.getProcessoAnexado().getId());*/
352   -
353   -
354 355 if (this.anexarProcessoDao.isExisteAnexoProcesso(processoAnexado.getProcessoAnexado().getId())) {
355 356 mensagem.append(processoAnexado.getProcessoAnexado().getNup()).append(",");
356 357 }
... ...
cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/DocumentoGedServiceImpl.java
... ... @@ -669,6 +669,7 @@ public class DocumentoGedServiceImpl extends GenericServiceImpl&lt;DocumentoGed, Lo
669 669 entity.setVersaoAnterior(versaoAnterior);
670 670 entity.setEditor(this.getUsuario());
671 671 entity.setAutor(this.getUsuario());
  672 + entity.setOrigem(versaoAnterior.getOrigem());
672 673  
673 674 if (entity != null && entity.getNovaVersao()) {
674 675 entity.setVersaoDocumento(Math.floor(entity.getVersaoDocumento()) + 1);
... ... @@ -884,6 +885,7 @@ public class DocumentoGedServiceImpl extends GenericServiceImpl&lt;DocumentoGed, Lo
884 885 documentoGed.setOrigem(processoOrigem);
885 886 documentoGed.setAnexo(null);
886 887 documentoGed.setId(null);
  888 + documentoGed.setAssinaturas(null);
887 889  
888 890 if (!UtilColecao.isVazio(documentoGedOrigem.getInteressados())) {
889 891  
... ...
cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/HistoricoAlteracaoProcessoServiceImpl.java
... ... @@ -15,6 +15,8 @@ import br.com.centralit.api.dao.HistoricoAlteracaoProcessoDao;
15 15 import br.com.centralit.api.model.AcaoHistoricoAlteracaoProcesso;
16 16 import br.com.centralit.api.model.Assinatura;
17 17 import br.com.centralit.api.model.HistoricoAlteracaoProcesso;
  18 +import br.com.centralit.api.model.Processo;
  19 +import br.com.centralit.api.model.UnidadeProcesso;
18 20 import br.com.centralit.api.service.AcaoHistoricoAlteracaoProcessoService;
19 21 import br.com.centralit.api.service.HistoricoAlteracaoProcessoService;
20 22 import br.com.centralit.api.service.ProcessoService;
... ... @@ -54,6 +56,26 @@ import br.com.centralit.framework.util.UtilObjeto;
54 56 * @author rogerio.costa
55 57 *
56 58 */
  59 +/**
  60 + * <p><img src="http://centralit.com.br/images/logo_central.png"></p>
  61 + *
  62 + * <p><b>Company: </b> Central IT - Governança Corporativa - </p>
  63 + *
  64 + * <p><b>Title: </b></p>
  65 + *
  66 + * <p><b>Description: </b></p>
  67 + *
  68 + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p>
  69 + *
  70 + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>
  71 + *
  72 + * @since 28/04/2016 - 21:53:16
  73 + *
  74 + * @version 1.0.0
  75 + *
  76 + * @author maycon.silva
  77 + *
  78 + */
57 79 @Service("historicoAlteracaoProcessoService")
58 80 public class HistoricoAlteracaoProcessoServiceImpl extends GenericServiceImpl<HistoricoAlteracaoProcesso, Long> implements HistoricoAlteracaoProcessoService {
59 81  
... ... @@ -218,4 +240,76 @@ public class HistoricoAlteracaoProcessoServiceImpl extends GenericServiceImpl&lt;Hi
218 240 hap.setAutor(usuario);
219 241 this.saveWithParams(hap);
220 242 }
  243 +
  244 + /**
  245 + * Método responsável por gerar Histórico de alteracao do processo atribuição
  246 + *
  247 + * @author maycon.silva
  248 + *
  249 + * @param unidadeProcesso
  250 + */
  251 + public void gerarHistoricoAtribuicao(UnidadeProcesso unidadeProcesso) {
  252 +
  253 + Usuario usuario = (Usuario) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
  254 + Map<String, String> mapaAtributos = new HashMap<String, String>();
  255 + mapaAtributos.put("usuario", null);
  256 +
  257 + HistoricoAlteracaoProcesso hap = new HistoricoAlteracaoProcesso(
  258 + unidadeProcesso.getProcesso(),
  259 + Calendar.getInstance(),
  260 + usuario.getUnidade().getNome(),
  261 + usuario.getUsername(),
  262 + null,
  263 + AcaoHistoricoAlteracaoProcesso.INICIAR_ATRIBUICAO_PROCESSO_DESCRICAO,
  264 + AcaoHistoricoAlteracaoProcesso.INICIAR_ATRIBUICAO_PROCESSO_CHAVE, null, mapaAtributos);
  265 + hap.setAutor(usuario);
  266 +
  267 + this.saveWithParams(hap);
  268 + }
  269 +
  270 + /**
  271 + * Método responsável por gerar Histórico de alteração do processo Iniciação processo
  272 + *
  273 + * @author maycon.silva
  274 + *
  275 + * @param processo
  276 + */
  277 + public void gerarHistoricoIniciacaoProcesso(Processo processo) {
  278 +
  279 + Usuario usuario = (Usuario) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
  280 + Map<String, String> mapaAtributos = new HashMap<String, String>();
  281 + mapaAtributos.put("usuario", null);
  282 + mapaAtributos.put("protocolo", processo.getNup());
  283 +
  284 + HistoricoAlteracaoProcesso hap = new HistoricoAlteracaoProcesso(
  285 + processo,
  286 + Calendar.getInstance(),
  287 + usuario.getUnidade().getNome(),
  288 + usuario.getUsername(),
  289 + null,
  290 + AcaoHistoricoAlteracaoProcesso.INCLUSAO_PROCESSO_DESCRICAO,
  291 + AcaoHistoricoAlteracaoProcesso.INCLUSAO_PROCESSO_CHAVE, null, mapaAtributos);
  292 + hap.setAutor(usuario);
  293 +
  294 + this.saveWithParams(hap);
  295 + }
  296 +
  297 + public void gerarHistoricoCapturaDeProcesso(UnidadeProcesso unidadeProcesso){
  298 +
  299 + Usuario usuario = (Usuario) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
  300 + Map<String, String> mapaAtributos = new HashMap<String, String>();
  301 + mapaAtributos.put("usuario", null);
  302 +
  303 + HistoricoAlteracaoProcesso hap = new HistoricoAlteracaoProcesso(
  304 + unidadeProcesso.getProcesso(),
  305 + Calendar.getInstance(),
  306 + usuario.getUnidade().getNome(),
  307 + usuario.getUsername(),
  308 + null,
  309 + AcaoHistoricoAlteracaoProcesso.ALTERAR_ATRIBUICAO_PROCESSO_DESCRICAO,
  310 + AcaoHistoricoAlteracaoProcesso.ALTERAR_ATRIBUICAO_PROCESSO_CHAVE, null, mapaAtributos);
  311 + hap.setAutor(usuario);
  312 +
  313 + this.saveWithParams(hap);
  314 + }
221 315 }
... ...
cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/InicializarEcmServiceImpl.java
... ... @@ -129,7 +129,7 @@ public class InicializarEcmServiceImpl extends UtilStartup {
129 129 menuProcesso = this.menuService.mergeIfNotExist(menuProcesso);
130 130  
131 131 // Submenu Cadastro de Processo #INICIO
132   - Pagina pgProcesso = new Pagina("Novo Processo", "/cit-ecm-web/html/processo/processoEdit.html");
  132 + Pagina pgProcesso = new Pagina("Novo Processo", "/cit-ecm-web/html/processo/processoNew.html");
133 133 pgProcesso = this.paginaService.saveIfNotExist(pgProcesso);
134 134  
135 135 Menu menuCadastroProcesso = new Menu("Novo Processo", pgProcesso, menuProcesso, 2, 1, null, null, null, null, modulo, "NOVO_PROCESSO");
... ... @@ -218,6 +218,9 @@ public class InicializarEcmServiceImpl extends UtilStartup {
218 218 filesProcesso.add(new MenuFile("/cit-ecm-web/assets/js/angular/custom/repository/HistoricoAtribuicaoProcessoRepository.js", this.dominioJS, menuCadastroProcesso));
219 219 filesProcesso.add(new MenuFile("/cit-ecm-web/assets/js/angular/custom/repository/HistoricoAtribuicaoProcessoRepository.min.js", this.dominioJS, menuCadastroProcesso));
220 220  
  221 + filesProcesso.add(new MenuFile("/cit-ecm-web/assets/js/angular/custom/repository/MetadadoProcessoViewController.js", this.dominioJS, menuCadastroProcesso));
  222 + filesProcesso.add(new MenuFile("/cit-ecm-web/assets/js/angular/custom/repository/MetadadoProcessoViewController.min.js", this.dominioJS, menuCadastroProcesso));
  223 +
221 224 menuCadastroProcesso.setIncludes(filesProcesso);
222 225 this.menuService.mergeIfNotExist(menuCadastroProcesso);
223 226  
... ...
cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/ProcessoServiceImpl.java
... ... @@ -19,6 +19,9 @@ import org.springframework.beans.factory.annotation.Qualifier;
19 19 import org.springframework.stereotype.Service;
20 20 import org.springframework.validation.Validator;
21 21  
  22 +import com.googlecode.genericdao.search.ISearch;
  23 +import com.googlecode.genericdao.search.SearchResult;
  24 +
22 25 import br.com.centralit.api.dao.ProcessoDao;
23 26 import br.com.centralit.api.model.DocumentoGed;
24 27 import br.com.centralit.api.model.EstruturaOrganizacionalECM;
... ... @@ -33,6 +36,7 @@ import br.com.centralit.api.service.CredencialProcessoService;
33 36 import br.com.centralit.api.service.DocumentoGedService;
34 37 import br.com.centralit.api.service.DominioService;
35 38 import br.com.centralit.api.service.GrupoService;
  39 +import br.com.centralit.api.service.HistoricoAlteracaoProcessoService;
36 40 import br.com.centralit.api.service.HistoricoAtribuicaoProcessoService;
37 41 import br.com.centralit.api.service.NotificacaoService;
38 42 import br.com.centralit.api.service.PlanoClassificacaoService;
... ... @@ -149,6 +153,9 @@ public class ProcessoServiceImpl extends GenericServiceImpl&lt;Processo, Long&gt; impl
149 153 /** Atributo notificacaoService. */
150 154 @Autowired
151 155 private NotificacaoService notificacaoService;
  156 +
  157 + @Autowired
  158 + private HistoricoAlteracaoProcessoService historicoAlteracaoProcessoService;
152 159  
153 160 @Autowired
154 161 public ProcessoServiceImpl( final ProcessoDao processoDao, @Qualifier("processoValidator") final Validator validator ) {
... ... @@ -169,19 +176,25 @@ public class ProcessoServiceImpl extends GenericServiceImpl&lt;Processo, Long&gt; impl
169 176 entity.setNivelAcessoOriginal(entity.getNivelAcesso());
170 177  
171 178 Processo processo = super.save(entity);
172   -
173   - this.unidadeProcessoService.saveUnidadeProcesso(processo);
174   -
  179 +
175 180 if (processo.getTipoProtocolo().getCodigo().equals(1L)) {
176 181 this.gerarNUP(processo);
177 182 }
  183 +
  184 + this.historicoAlteracaoProcessoService.gerarHistoricoIniciacaoProcesso(processo);
178 185  
  186 + this.unidadeProcessoService.saveUnidadeProcesso(processo);
  187 +
  188 +
179 189 this.saveSolr(processo);
180 190  
181 191 // Verifica se o processo é sigiloso, verdadeiro sejá estarta o businessProcess, falso envia uma notificação para os grupos responsáeis.
182 192 if (!UtilObjeto.isReferencia(processo.getSigilo())) {
183   -
  193 +
  194 + entity.setStatus(this.dominioService.findByChaveAndCodigo(Dominio.TIPO_STATUS_PROCESSO_ECM, Dominio.TIPO_STATUS_PROCESSO_ECM_EM_ANDAMENTO));
  195 +
184 196 this.startBusinessProcess(processo);
  197 +
185 198 } else {
186 199  
187 200 this.enviarNotificacaoProcessoSigiloso(processo);
... ... @@ -738,7 +751,7 @@ public class ProcessoServiceImpl extends GenericServiceImpl&lt;Processo, Long&gt; impl
738 751 // Verifica se o usuario logado está lotado na unidade.
739 752 if (UtilObjeto.isReferencia(this.getUsuario().getUnidade())) {
740 753  
741   - UnidadeProcesso unidadeProcesso = this.unidadeProcessoService.obterPorUnidadeEProcesso(processo.getId(), this.getUsuario().getUnidade().getId());
  754 + UnidadeProcesso unidadeProcesso = this.unidadeProcessoService.obterPorUnidadeEProcessoEmExecucao(processo.getId(), this.getUsuario().getUnidade().getId());
742 755 // Verifica se o processo foi enviado para essa unidade e se é o primeiro acesso
743 756 if (UtilObjeto.isReferencia(unidadeProcesso) && unidadeProcesso.getPrimeiroAcesso()) {
744 757  
... ... @@ -746,6 +759,8 @@ public class ProcessoServiceImpl extends GenericServiceImpl&lt;Processo, Long&gt; impl
746 759 unidadeProcesso.setPrimeiroAcesso(Boolean.FALSE);
747 760  
748 761 this.historicoAtribuicaoProcessoService.saveHistorico(unidadeProcesso);
  762 +
  763 + this.historicoAlteracaoProcessoService.gerarHistoricoCapturaDeProcesso(unidadeProcesso);
749 764  
750 765 return Boolean.TRUE;
751 766 }
... ... @@ -1185,5 +1200,14 @@ public class ProcessoServiceImpl extends GenericServiceImpl&lt;Processo, Long&gt; impl
1185 1200  
1186 1201 return this.processoDao.getProcessoByProtocolo(nup);
1187 1202 }
  1203 +
  1204 + /**
  1205 + *
  1206 + */
  1207 + public Collection<Processo> autoCompleteProcessoEmAndametoByNup(String nup){
  1208 +
  1209 + return this.processoDao.autoCompleteProcessoEmAndamentoByNup(nup );
  1210 +
  1211 + }
1188 1212  
1189 1213 }
... ...
cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/UnidadeProcessoServiceImpl.java
... ... @@ -14,6 +14,7 @@ import br.com.centralit.api.model.UnidadeProcesso;
14 14 import br.com.centralit.api.service.DominioService;
15 15 import br.com.centralit.api.service.GrupoService;
16 16 import br.com.centralit.api.service.GrupoUsuarioService;
  17 +import br.com.centralit.api.service.HistoricoAlteracaoProcessoService;
17 18 import br.com.centralit.api.service.HistoricoAtribuicaoProcessoService;
18 19 import br.com.centralit.api.service.NotificacaoService;
19 20 import br.com.centralit.api.service.NotificacaoUsuarioService;
... ... @@ -105,6 +106,9 @@ public class UnidadeProcessoServiceImpl extends GenericServiceImpl&lt;UnidadeProces
105 106 /** Atributo historicoAtribuicaoProcessoService. */
106 107 @Autowired
107 108 private HistoricoAtribuicaoProcessoService historicoAtribuicaoProcessoService;
  109 +
  110 + @Autowired
  111 + private HistoricoAlteracaoProcessoService historicoAlteracaoProcessoService;
108 112  
109 113 /**
110 114 * Responsável pela criação de novas instâncias desta classe.
... ... @@ -204,7 +208,9 @@ public class UnidadeProcessoServiceImpl extends GenericServiceImpl&lt;UnidadeProces
204 208 unidadeProcesso.setUsuarioResponsavel(this.getUsuario());
205 209  
206 210 unidadeProcesso = super.save(unidadeProcesso);
207   -
  211 +
  212 + historicoAlteracaoProcessoService.gerarHistoricoAtribuicao(unidadeProcesso);
  213 +
208 214 this.historicoAtribuicaoProcessoService.saveHistorico(unidadeProcesso);
209 215 }
210 216  
... ... @@ -227,7 +233,7 @@ public class UnidadeProcessoServiceImpl extends GenericServiceImpl&lt;UnidadeProces
227 233 */
228 234 public void executarConcluirProcessoNaUnidade(Long idTask, Processo processo) {
229 235  
230   - UnidadeProcesso unidadeProcesso = this.unidadeProcessoDao.obterPorUnidadeEProcesso(processo.getId(), this.getUsuario().getUnidade().getId());
  236 + UnidadeProcesso unidadeProcesso = this.unidadeProcessoDao.obterPorUnidadeEProcessoEmExecucao(processo.getId(), this.getUsuario().getUnidade().getId());
231 237  
232 238 if (UtilObjeto.isReferencia(unidadeProcesso)) {
233 239  
... ... @@ -272,6 +278,17 @@ public class UnidadeProcessoServiceImpl extends GenericServiceImpl&lt;UnidadeProces
272 278  
273 279 return this.unidadeProcessoDao.findByIdProcesso(idProcesso);
274 280 }
  281 +
  282 + /**
  283 + *
  284 + */
  285 + @Override
  286 + public Collection<UnidadeProcesso> findByPorIdProcessoEmExecucao(Long idProcesso) {
  287 +
  288 + return this.unidadeProcessoDao.findByPorIdProcessoEmExecucao(idProcesso);
  289 + }
  290 +
  291 +
275 292  
276 293 /**
277 294 * <p>
... ... @@ -325,6 +342,15 @@ public class UnidadeProcessoServiceImpl extends GenericServiceImpl&lt;UnidadeProces
325 342  
326 343 return this.unidadeProcessoDao.obterPorUnidadeEProcesso(idProcesso, idUnidade);
327 344 }
  345 +
  346 + /**
  347 + *
  348 + */
  349 + public UnidadeProcesso obterPorUnidadeEProcessoEmExecucao(Long idProcesso, Long idUnidade){
  350 +
  351 + return this.unidadeProcessoDao.obterPorUnidadeEProcessoEmExecucao(idProcesso, idUnidade);
  352 +
  353 + }
328 354  
329 355 /**
330 356 * Método responsável por listar processos através da unidade do usuário
... ...
cit-ecm-web/src/main/java/br/com/centralit/controller/ProcessoController.java
1 1 package br.com.centralit.controller;
2 2  
  3 +import java.util.Collection;
  4 +
3 5 import org.springframework.beans.factory.annotation.Autowired;
4 6 import org.springframework.stereotype.Controller;
5 7 import org.springframework.web.bind.annotation.RequestBody;
... ... @@ -8,6 +10,8 @@ import org.springframework.web.bind.annotation.RequestMethod;
8 10 import org.springframework.web.bind.annotation.RequestParam;
9 11 import org.springframework.web.bind.annotation.ResponseBody;
10 12  
  13 +import br.com.centralit.api.framework.json.ViewsEcm;
  14 +import br.com.centralit.api.model.PlanoClassificacao;
11 15 import br.com.centralit.api.model.Processo;
12 16 import br.com.centralit.api.service.ProcessoService;
13 17 import br.com.centralit.api.service.UsuarioService;
... ... @@ -97,6 +101,28 @@ public class ProcessoController extends GenericController&lt;Processo&gt; {
97 101  
98 102 return responseBody;
99 103 }
  104 +
  105 +
  106 + /**
  107 + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p>
  108 + *
  109 + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>
  110 + *
  111 + * Método responsável por retornar apenas os atributos do metadado do processo.
  112 + *
  113 + * @author maycon.silva
  114 + *
  115 + * @param idProcesso
  116 + * @return
  117 + */
  118 + @RequestMapping(method = RequestMethod.GET, value = "/getMetadadoProcesso")
  119 + @ResponseBody
  120 + public ResponseBodyWrapper getMetadadoProcesso(@RequestParam(value = "idProcesso") Long idProcesso) {
  121 +
  122 + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(this.processoService.getReference(idProcesso), this.getMetadadoProcessoView());
  123 +
  124 + return responseBody;
  125 + }
100 126  
101 127 /**
102 128 * <p>
... ... @@ -184,6 +210,18 @@ public class ProcessoController extends GenericController&lt;Processo&gt; {
184 210 return responseBody;
185 211 }
186 212  
  213 +
  214 + @RequestMapping(value = "/autoCompleteProcessoEmAndametoByNup", method = RequestMethod.GET, produces = "application/json")
  215 + @ResponseBody
  216 + public ResponseBodyWrapper autoCompleteProcessoEmAndametoByNup(@RequestParam(value = "nup") String nup) {
  217 +
  218 + ResultResponseVH<Collection<Processo>> resultResponseVH = new ResultResponseVH<Collection<Processo>>(this.processoService.autoCompleteProcessoEmAndametoByNup(nup));
  219 +
  220 + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(resultResponseVH, getMetadadoProcessoView());
  221 +
  222 + return responseBody;
  223 + }
  224 +
187 225 @Override
188 226 public Class<Views.ProcessoEdit> getEditView() {
189 227  
... ... @@ -199,8 +237,12 @@ public class ProcessoController extends GenericController&lt;Processo&gt; {
199 237 @Override
200 238 public Class<Views.ProcessoAutoCompleteView> getAutoCompleteView() {
201 239  
202   - // TODO Auto-generated method stub
203 240 return Views.ProcessoAutoCompleteView.class;
204 241 }
  242 +
  243 + public Class<ViewsEcm.MetadadoProcessoView> getMetadadoProcessoView() {
  244 +
  245 + return ViewsEcm.MetadadoProcessoView.class;
  246 + }
205 247  
206 248 }
... ...
cit-ecm-web/src/main/java/br/com/centralit/controller/UnidadeProcessoController.java
... ... @@ -98,6 +98,29 @@ public class UnidadeProcessoController extends GenericController&lt;UnidadeProcesso
98 98  
99 99 return responseBody;
100 100 }
  101 +
  102 + /**
  103 + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p>
  104 + *
  105 + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>
  106 + *
  107 + * Método responsável por
  108 + *
  109 + * @author maycon.silva
  110 + *
  111 + * @param idProcesso
  112 + * @return
  113 + */
  114 + @RequestMapping(value = "/findByPorIdProcessoEmExecucao", method = RequestMethod.GET, produces = "application/json")
  115 + @ResponseBody
  116 + public ResponseBodyWrapper findByPorIdProcessoEmExecucao(@RequestParam(value = "idProcesso") Long idProcesso) {
  117 +
  118 + final Collection<UnidadeProcesso> list = this.unidadeProcessoService.findByPorIdProcessoEmExecucao(idProcesso);
  119 +
  120 + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(list, Views.EnviarProcessoView.class);
  121 +
  122 + return responseBody;
  123 + }
101 124  
102 125 /**
103 126 * <p>
... ...
cit-ecm-web/src/main/java/br/com/centralit/listener/StartupListenerEcm.java
... ... @@ -130,7 +130,6 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen
130 130 list.add(new AcaoHistoricoAlteracaoProcesso("ANEXAR_PROCESSO_PRINCIPAL", "Anexar Processo principal", "Processo <<protocolo>> anexado a este processo."));
131 131 list.add(new AcaoHistoricoAlteracaoProcesso("ANEXAR_PROCESSO_SECUNDARIO", "Anexar Processo secundário", "Processo anexado ao processo <<protocolo>>."));
132 132 list.add(new AcaoHistoricoAlteracaoProcesso("ATUALIZAR_ANDAMENTO_PROCESSO", "Atualização de Andamento do Processo", "Situação do processo alterada para <<situacao>>."));
133   - list.add(new AcaoHistoricoAlteracaoProcesso("ALTERACAO_ATRIBUICAO_PROCESSO", "Alteração de atribuição de Processo", "Processo atribuído a <<usuario>>."));
134 133 list.add(new AcaoHistoricoAlteracaoProcesso("CRIACAO_NOVA_VERSAO_DOCUMENTO", "Criação de uma nova versão do documento", "Documento <<tipo_documento>> <<numero_documento>> alterado para a versão <<numero_versao>>."));
135 134 list.add(new AcaoHistoricoAlteracaoProcesso("RESTAURACAO_VERSAO_DOCUMENTO", "Restauração de uma versão do documento", "Documento <<tipo_documento>> <<numero_documento>> restaurado para a versão <<numero_versao>>."));
136 135 list.add(new AcaoHistoricoAlteracaoProcesso("CONCLUSAO_PROCESSO_UNIDADE", "Conclusão do Processo na Unidade", "Processo concluído na unidade <<unidade>>."));
... ... @@ -142,6 +141,9 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen
142 141 list.add(new AcaoHistoricoAlteracaoProcesso("VALIDAR_PROCESSO", "Validar Processo", "O processo <<protocolo>> foi validado e seus documentos."));
143 142 list.add(new AcaoHistoricoAlteracaoProcesso("ATRIBUICAO_PROCESSO", "Atribuição de processo", "O processo <<protocolo>> foi atribuido para <<usuario>>."));
144 143 list.add(new AcaoHistoricoAlteracaoProcesso("ASSINAR_DOCUMENTO", "Assinatura de documento", "O documento <<tipo_documento>> <<numero_documento>> foi assinado por <<usuario>>."));
  144 + list.add(new AcaoHistoricoAlteracaoProcesso("ATUALIZAR_ANDAMENTO_PROCESSO", "Atualização de Andamento do Processo", "Situação do processo alterada para <<situacao>>."));
  145 + list.add(new AcaoHistoricoAlteracaoProcesso("INICIAR_ATRIBUICAO_PROCESSO", "Atribuição do processo", "Processo atribuído a <<usuario>>."));
  146 + list.add(new AcaoHistoricoAlteracaoProcesso("ALTERAR_ATRIBUICAO_PROCESSO", "Atribuição do processo alterada", "Processo atribuído a <<usuario>>."));
145 147  
146 148 try {
147 149 this.acaoHistoricoAlteracaoProcessoService.saveListIfNotExist(list);
... ... @@ -206,6 +208,7 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen
206 208 list.add(new Dominio("statusProcesso", "Em andamento", "EM_ANDAMENTO", 2L));
207 209 list.add(new Dominio("statusProcesso", "Aguardando Validação", "AGUARDANDO_VALIDACAO", 3L));
208 210 list.add(new Dominio("statusProcesso", "Validado", "VALIDADO", 4L));
  211 + list.add(new Dominio("statusProcesso", "Anexado", "ANEXADO", 5L));
209 212  
210 213 list.add(new Dominio("statusDocumentoGed", "Aguardando Validação", "AGUARDANDO_VALIDACAO", 0L));
211 214 list.add(new Dominio("statusDocumentoGed", "Validado", "VALIDADO", 1L));
... ... @@ -454,6 +457,7 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen
454 457 internacionalizacaoList.add(new Internacionalizacao("ECM.ASSINADO_SUCESSO", "Documento assinado com sucesso!", dominio, modulo));
455 458 internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.ASSINATURA_DO_DOCUMENTO", "Assinatura do Documento", dominio, modulo));
456 459 internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.DOCUMENTO_SEM_ASSINATURA", "Documento sem assinaturas!", dominio, modulo));
  460 + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.DADOS_PROCESSO_ANEXADO", "Dados do Processo Anexado", dominio, modulo));
457 461  
458 462 }
459 463  
... ... @@ -530,7 +534,7 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen
530 534 internacionalizacaoList.add(new Internacionalizacao("ECM.MSG_HISTORICO_ECM.ANEXAR_PROCESSO_PRINCIPAL", "Anexar Processo principal", dominio, modulo));
531 535 internacionalizacaoList.add(new Internacionalizacao("ECM.MSG_HISTORICO_ECM.ANEXAR_PROCESSO_SECUNDARIO", "Anexar Processo secundário", dominio, modulo));
532 536 internacionalizacaoList.add(new Internacionalizacao("ECM.MSG_HISTORICO_ECM.ATUALIZAR_ANDAMENTO_PROCESSO", "Atualização de Andamento do Processo", dominio, modulo));
533   - internacionalizacaoList.add(new Internacionalizacao("ECM.MSG_HISTORICO_ECM.ALTERACAO_ATRIBUICAO_PROCESSO", "Alteração ene atribuição de Processo", dominio, modulo));
  537 + internacionalizacaoList.add(new Internacionalizacao("ECM.MSG_HISTORICO_ECM.ALTERAR_ATRIBUICAO_PROCESSO", "Atribuição do processo alterada", dominio, modulo));
534 538 internacionalizacaoList.add(new Internacionalizacao("ECM.MSG_HISTORICO_ECM.RESTAURACAO_VERSAO_DOCUMENTO", "Restauração de uma versão do documento", dominio, modulo));
535 539 internacionalizacaoList.add(new Internacionalizacao("ECM.MSG_HISTORICO_ECM.CONCLUSAO_PROCESSO_UNIDADE", "Conclusão do Processo na Unidade", dominio, modulo));
536 540 internacionalizacaoList.add(new Internacionalizacao("ECM.MSG_HISTORICO_ECM.CANCELAR_DOCUMENTO", "Cancelar Documentos", dominio, modulo));
... ... @@ -562,6 +566,7 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen
562 566 internacionalizacaoList.add(new Internacionalizacao("ECM.MSG.PROCESSO_CONCLUIDO_SUCESSO", "Processo concluído com sucesso!", dominio, modulo));
563 567 internacionalizacaoList.add(new Internacionalizacao("ECM.MSG.O_PROCESSO", "O processo", dominio, modulo));
564 568 internacionalizacaoList.add(new Internacionalizacao("ECM.MSG.SALVO_SUCESSO", "Foi salvo com sucesso!", dominio, modulo));
  569 + internacionalizacaoList.add(new Internacionalizacao("ECM.MSG_HISTORICO_ECM.INICIAR_ATRIBUICAO_PROCESSO", "Atribuição do processo", dominio, modulo));
565 570 internacionalizacaoList.add(new Internacionalizacao("ECM.MSG.NAO_EXISTE_TAREFA_EXECUTAR", "Não existem tarefas a serem executadas!", dominio, modulo));
566 571 internacionalizacaoList.add(new Internacionalizacao("ECM.MSG.CONFIRMA_SOBRESTAMENTO_TAREFA", "Confirma o sobrestamento da tarefa?", dominio, modulo));
567 572 internacionalizacaoList.add(new Internacionalizacao("ECM.MSG.TAREFA_SOBRESTADA_SUCESSO", "Tarefa sobrestada com sucesso!", dominio, modulo));
... ...
cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/AnexarProcessoController.js
... ... @@ -34,6 +34,7 @@ citApp.controller(&#39;AnexarProcessoController&#39;, [&#39;$scope&#39;, &#39;UnidadeProcessoReposit
34 34 AnexarProcessoRepository.findByIdProcesso($scope.$parent.$parent.processo.id).then(function(result) {
35 35 angular.forEach(result, function(item, key) {
36 36 if(item.originalElement.processo != null){
  37 +
37 38 $scope.anexarProcessoVH.listaProcessoAnexado.push(item.originalElement);
38 39  
39 40 }
... ... @@ -57,10 +58,9 @@ citApp.controller(&#39;AnexarProcessoController&#39;, [&#39;$scope&#39;, &#39;UnidadeProcessoReposit
57 58  
58 59  
59 60 //Buscar processo através do nup
60   - $scope.findAutoCompleteProcesso = function(value){
61   - return ProcessoRepository.findAutoComplete('nup', value).then(function(result) {
62   -
63   - return $filter('idNotEqualProcessoAnexadoAndProcessoPai')(result, $scope.anexarProcessoVH.listaProcessoAnexado, $scope.$parent.$parent.processo);
  61 + $scope.autoCompleteProcessoEmAndametoByNup = function(value){
  62 + return ProcessoRepository.autoCompleteProcessoEmAndametoByNup(value).then(function(result) {
  63 + return $filter('idNotEqualProcessoAnexadoAndProcessoPai')(result, $scope.anexarProcessoVH.listaProcessoAnexado, $scope.$parent.$parent.processo);
64 64 });
65 65 };
66 66  
... ... @@ -242,85 +242,4 @@ citApp.controller(&#39;AnexarProcessoController&#39;, [&#39;$scope&#39;, &#39;UnidadeProcessoReposit
242 242 $scope.updateTask(true);
243 243 };
244 244  
245   -
246   - // ------------------------------EXECUTA BPE------------------------------------
247   -
248   -// // ATUALIZAR TASK BPE
249   -// $scope.updateTask = function(complete) {
250   -// if ($scope.updateAction && (!$scope.flowAction || !$scope.flowAction.id)) {
251   -// $scope.showAlert("error", $translate.instant('ESI.MSG.SELECIONE_ACAO'));
252   -// return;
253   -// }
254   -//
255   -//
256   -// // Executa regras criadas
257   -// if ($scope.businessRule && $scope.businessRule != '') {
258   -// $scope.buildBusinessRuleVariables();
259   -// $scope[$scope.businessRule] = undefined;
260   -// RuntimeManagerRepository.executeBusinessRule($scope.businessRule, $scope.businessRuleVariables).then(function(result) {
261   -// $scope[$scope.businessRule] = result.originalElement.businessRule;
262   -// if ($scope[$scope.businessRule] && $scope[$scope.businessRule].valid) {
263   -// $scope.execute(complete);
264   -// }
265   -// });
266   -// }else{
267   -// $scope.execute(complete);
268   -// }
269   -//
270   -// };
271   -//
272   -// // FIM
273   -//
274   -// $scope.hasTaskVariable = function(name) {
275   -// for (var i = 0; i < $scope.taskVariables.length; i++) {
276   -// if ($scope.taskVariables[i].name == name) {
277   -// return true;
278   -// }
279   -// }
280   -// return false;
281   -// };
282   -//
283   -//
284   -// // EXCUTA TAREFA BPE
285   -// $scope.execute = function(complete) {
286   -// $scope.setLoading(true,$translate.instant('ESI.EXECUTANDO_TAREFA')+" "+$scope.task.flowElement.name);
287   -// $scope.runtimeManagerUtils.executeCode("beforeUpdate");
288   -//
289   -// var idRetorno = ESI_RETURN+$scope.flowName;
290   -// var idParam = ESI_PARAM+$scope.flowName;
291   -// $scope[idParam] = new RuntimeEnvironmentInput($scope.flowName,$scope.taskVariables);
292   -// $scope[idParam].workItemId = $scope.task.id;
293   -// $scope[idParam].updateFlowAction = $scope.updateAction;
294   -//
295   -// // ADICIONA ACÃO DO FLUXO NO SCOPO
296   -// if ($scope.updateAction) {
297   -// $scope[idParam].flowAction = $scope.flowAction;
298   -// }
299   -//
300   -// $scope[idRetorno] = new RuntimeEnvironmentOutput(null);
301   -//
302   -// RuntimeManagerRepository.updateTask($scope[idParam], complete).then(function(result) {
303   -// $scope[idRetorno] = new RuntimeEnvironmentOutput(result.originalElement);
304   -// $scope.runtimeManagerUtils.setObjectValues($scope[idRetorno]);
305   -//
306   -// $scope.processInstance = result.originalElement.processInstance;
307   -//
308   -// $scope.runtimeManagerUtils.saveDocuments($scope[idRetorno].processInstance, $scope.task);
309   -//
310   -// $scope.runtimeManagerUtils.executeCode("afterUpdate");
311   -// $scope.setLoading(false);
312   -// $scope.showExecuteButton = false;
313   -// if ($scope.callbackFunction != null)
314   -// $scope.callbackFunction();
315   -// $rootScope.controllerScope.fetchResult();
316   -// if ($scope.removeWorkspace)
317   -// $scope.close();
318   -// $scope.showAlert("success","ESI.MSG.TAREFA_EXECUTADA","");
319   -// });
320   -// };
321   -//
322   - // FIM
323   -
324   -
325   -
326 245 }]);
... ...
cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/GerenciarProcessoController.js
... ... @@ -25,10 +25,10 @@ citApp.controller(&#39;GerenciarProcessoController&#39;, [ &#39;$scope&#39;, &#39;$translate&#39;, &#39;$tim
25 25 $scope.isHistoricoJustificativa = false;
26 26 $scope.isAnexarProcesso = false;
27 27 $scope.widgetExemploIsCollapsed = true;
28   - $scope.tratimitado();
29 28 $scope.isGerenciarCredencialProcesso = false;
30 29 $scope.isClassificarProcessoDocumento = false;
31 30 $scope.isAtribuirProcesso = false;
  31 + $scope.isVisualizarMetadadoProcesso = false;
32 32 $scope.exibirAssinarDocAnexo = false;
33 33 };
34 34  
... ... @@ -82,20 +82,16 @@ citApp.controller(&#39;GerenciarProcessoController&#39;, [ &#39;$scope&#39;, &#39;$translate&#39;, &#39;$tim
82 82  
83 83 // ABRE ABA PARA CRIAR NOVO PROCESSO
84 84 $scope.novoProcesso = function () {
85   -
86   - var workspace = angular.element( '#editProcessoEcm' ).scope().workspace;
87   - if ( workspace ) {
88   - angular.element( "#citapp-controller" ).scope().removeWorkspace( workspace.id );
89   - }
90   -
91   - $scope.openWorkspaceIfNotOpen( $translate.instant( 'ECM.LABEL.PROCESSO' ), '/cit-ecm-web/html/processo/processo.html', 'mod-orange' );
92   -
93   - $timeout( function () {
94   - angular.element( '#editProcessoEcm' ).scope().$showPageEditWorkspace( angular.element( '#editProcessoEcm' ).scope().workspace );
95   - angular.element( '#editProcessoEcm' ).scope().resetForm();
96   -
97   - }, 600 );
98   -
  85 + $scope.openWorkspaceIfNotOpen($translate.instant('ECM.LABEL.NOVOPROCESSO'), '/cit-ecm-web/html/processo/processo.html', 'mod-orange');
  86 + $timeout(function() {
  87 + angular.element('#newProcesso').scope().$showPageEditWorkspace(angular.element('#newProcesso').scope().workspace);
  88 + $timeout(function(){
  89 + angular.element('#newProcesso').scope().resetForm();
  90 + }, 1000);
  91 +
  92 + }, 300);
  93 +
  94 + angular.element("#citapp-controller").scope().removeWorkspace($scope.workspace.id);
99 95 };
100 96  
101 97 // Gerenciar as credenciais do processo
... ... @@ -135,6 +131,21 @@ citApp.controller(&#39;GerenciarProcessoController&#39;, [ &#39;$scope&#39;, &#39;$translate&#39;, &#39;$tim
135 131 $scope.showAlert("success", $translate.instant('ECM.MSG.CAPTURADO_SUCESSO'));
136 132 $scope.setLoading(false);
137 133 $scope.$modalConfirmInstance.dismiss( 'cancel' );
  134 +
  135 + var historicoAlteracaoProcesso = {
  136 + documentoGed : $scope.documentoGed,
  137 + descricaoAcao : $translate.instant('ECM.MSG_HISTORICO_ECM.ATRIBUICAO'),
  138 + processo : $scope.processo,
  139 + autor : $scope.usuarioLogado,
  140 + acaoAlteracao : "ATRIBUICAO_PROCESSO"
  141 + };
  142 +
  143 + HistoricoAlteracaoProcessoRepository.saveParams(historicoAlteracaoProcesso).then(function(result){
  144 + $scope.atualizarAtribuicaoProcesso($scope.processo.id);
  145 + angular.element( "#widget-historico" ).scope().atualizar();
  146 + $scope.setLoading(false);
  147 +
  148 + });
138 149  
139 150 });
140 151  
... ... @@ -275,10 +286,8 @@ citApp.controller(&#39;GerenciarProcessoController&#39;, [ &#39;$scope&#39;, &#39;$translate&#39;, &#39;$tim
275 286 $scope.isProcessoEdit = true;
276 287 $scope.isVersoesDocumento = false;
277 288  
278   - $timeout( function () {
279   - angular.element( '#editProcessoEcm' ).scope().getProcesso( $scope.processo, true );
280   - angular.element( document.querySelector( '#topoMenu' ) ).remove();
281   - angular.element( document.querySelector( '#cabecalhoProcesso' ) ).remove();
  289 + $timeout( function () {
  290 + angular.element( '#editProcesso' ).scope().getProcesso( $scope.processo, true );
282 291 } );
283 292  
284 293 };
... ... @@ -289,7 +298,6 @@ citApp.controller(&#39;GerenciarProcessoController&#39;, [ &#39;$scope&#39;, &#39;$translate&#39;, &#39;$tim
289 298 $timeout( function () {
290 299 ProcessoRepository.get( $scope.processo.id ).then( function ( result ) {
291 300 $scope.processo = result.originalElement;
292   - $scope.atualizarAtribuicaoProcesso($scope.processo.id);
293 301 } );
294 302 }, 100 );
295 303  
... ... @@ -358,6 +366,8 @@ citApp.controller(&#39;GerenciarProcessoController&#39;, [ &#39;$scope&#39;, &#39;$translate&#39;, &#39;$tim
358 366  
359 367 // REMOVER DOCUMENTO
360 368 $scope.removeDocumento = function ( documento, index ) {
  369 + var documentoRemocao = documento;
  370 +
361 371 $scope.$openModalConfirm( {
362 372 message : $translate.instant( 'MSG.CONFIRMA_EXCLUSAO' ),
363 373 callback : function () {
... ... @@ -369,18 +379,22 @@ citApp.controller(&#39;GerenciarProcessoController&#39;, [ &#39;$scope&#39;, &#39;$translate&#39;, &#39;$tim
369 379 $scope.processo.documentos.splice( index, 1 );
370 380  
371 381 var historicoAlteracaoProcesso = {
372   - documentoGed : $scope.documentoGed,
  382 + documentoGed : documentoRemocao,
373 383 descricaoAcao : $translate.instant( 'ECM.MSG_HISTORICO_ECM.REMOCAO_DOCUMENTO' ),
374 384 processo : $scope.processo,
375 385 autor : $scope.usuarioLogado,
376 386 idTask : $scope.task.id,
377   - acaoAlteracao : "REMOCAO_DOCUMENTO"
  387 + acaoAlteracao : "REMOCAO_DOCUMENTO",
  388 + mapaAtributos : {
  389 + "tipo_documento" : documentoRemocao.tipoDocumento.nome,
  390 + "numero_documento" : documentoRemocao.numero
  391 + }
378 392 };
379 393 HistoricoAlteracaoProcessoRepository.saveParams( historicoAlteracaoProcesso ).then( function ( result ) {
380   -
  394 + $scope.closeWidget();
381 395 } );
382   - } );
383   - }
  396 + } );
  397 + }
384 398 } );
385 399 };
386 400  
... ... @@ -441,7 +455,7 @@ citApp.controller(&#39;GerenciarProcessoController&#39;, [ &#39;$scope&#39;, &#39;$translate&#39;, &#39;$tim
441 455 $scope.saveOrUpdateProcessoECM = function () {
442 456  
443 457 // CHAMA GRAVAR DO PROCESSOCONTROLLER.JS
444   - angular.element( '#editProcessoEcm' ).scope().saveOrUpdate();
  458 + angular.element( '#editProcesso' ).scope().saveOrUpdate();
445 459  
446 460 $scope.closeWidget();
447 461 $scope.atualizaProcesso();
... ... @@ -466,20 +480,12 @@ citApp.controller(&#39;GerenciarProcessoController&#39;, [ &#39;$scope&#39;, &#39;$translate&#39;, &#39;$tim
466 480 // FECHA WIDGET E INICIA WIDGET PADRÃO
467 481 $scope.closeWidget = function () {
468 482 angular.element( "#widget-historico" ).scope().atualizar();
469   - $scope.atualizarAtribuicaoProcesso($scope.idProcesso);
  483 + $scope.atualizaProcesso();
470 484 $scope.fecharPagina();
471 485 $scope.widgetExemploIsCollapsed = false;
472 486 // WIDGET PRADAO
473 487 $scope.isHistoricoProcesso = true;
474 488 };
475   -
476   - $scope.tratimitado = function () {
477   - UnidadeProcessoRepository.existeVinculo( { 'joinClass' : 'processo.id', 'id' : $scope.processo.id } ).then( function ( result ) {
478   - if ( result ) {
479   - $scope.isTramitado = true;
480   - }
481   - } );
482   - };
483 489  
484 490 // ------------------------------EXECUTA BPE------------------------------------
485 491  
... ... @@ -619,25 +625,24 @@ citApp.controller(&#39;GerenciarProcessoController&#39;, [ &#39;$scope&#39;, &#39;$translate&#39;, &#39;$tim
619 625  
620 626 ProcessoRepository.getProcessoGerenciamento($scope.idProcesso).then( function ( result ) {
621 627 $scope.processo = result.originalElement;
622   -
623   - $scope.apresentarCabecalho = true;
624   - $scope.processo.idTask = $scope.task.id;
625   -
626   - $scope.atualizarAtribuicaoProcesso($scope.idProcesso);
627   -
628   - if ( $scope.$parent != undefined ) {
629   - $scope.$parent.idProcesso = $scope.idProcesso;
630   - }
631   -
632   - if ( angular.element( '#viewGerenciarProcesso' ).scope() != undefined ) {
633   - var workspace = angular.element( '#viewGerenciarProcesso' ).scope().workspace;
634   - angular.element( "#citapp-controller" ).scope().removeWorkspace( workspace.id );
635   - }
636   -
637   - $scope.tratimitado();
638   -
639   - $scope.setLoading( false );
640   -
  628 + $scope.apresentarCabecalho = true;
  629 + $scope.processo.idTask = $scope.task.id;
  630 +
  631 + $scope.atualizarAtribuicaoProcesso($scope.idProcesso);
  632 +
  633 + if ( $scope.$parent != undefined ) {
  634 + $scope.$parent.idProcesso = $scope.idProcesso;
  635 + }
  636 +
  637 + if ( angular.element( '#viewGerenciarProcesso' ).scope() != undefined ) {
  638 + var workspace = angular.element( '#viewGerenciarProcesso' ).scope().workspace;
  639 + angular.element( "#citapp-controller" ).scope().removeWorkspace( workspace.id );
  640 + }
  641 +
  642 + angular.element( "#widget-historico" ).scope().atualizar();
  643 + $scope.isHistoricoProcesso = true;
  644 +
  645 + $scope.setLoading( false );
641 646 } );
642 647  
643 648 }, 400 );
... ... @@ -699,7 +704,7 @@ citApp.controller(&#39;GerenciarProcessoController&#39;, [ &#39;$scope&#39;, &#39;$translate&#39;, &#39;$tim
699 704 }
700 705 if($scope.usuarioLogado.unidade){
701 706  
702   - UnidadeProcessoRepository.findByIdProcesso($scope.idProcesso).then(function(result){
  707 + UnidadeProcessoRepository.findByPorIdProcessoEmExecucao($scope.idProcesso).then(function(result){
703 708  
704 709 $scope.processoUnidades = result;
705 710  
... ... @@ -717,6 +722,14 @@ citApp.controller(&#39;GerenciarProcessoController&#39;, [ &#39;$scope&#39;, &#39;$translate&#39;, &#39;$tim
717 722  
718 723 });
719 724 };
  725 +
  726 + $scope.visualizarMetadadosProcessoDocumento = function (processoDocumento){
  727 + $scope.fecharPagina();
  728 + $scope.isVisualizarMetadadoProcesso = true;
  729 + $timeout( function () {
  730 + angular.element( "#metadadoProcessoView" ).scope().getProcessoView(processoDocumento);
  731 + } );
  732 + };
720 733  
721 734 $scope.abrirAssinarDocumento = function(documento) {
722 735 $scope.fecharPagina();
... ...
cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/GerenciarProcessoListUnidadeController.js
... ... @@ -58,11 +58,11 @@ citApp.controller(&#39;GerenciarProcessoListUnidadeController&#39;, [&#39;$scope&#39;, &#39;workflow
58 58 };
59 59  
60 60 $scope.abrirNovoProcesso = function() {
61   - $scope.openWorkspaceIfNotOpen($translate.instant('ECM.LABEL.NOVOPROCESSO'), '/cit-ecm-web/html/processo/processoEdit.html', 'mod-orange');
  61 + $scope.openWorkspaceIfNotOpen($translate.instant('ECM.LABEL.NOVOPROCESSO'), '/cit-ecm-web/html/processo/processoNew.html', 'mod-orange');
62 62 $timeout(function() {
63   - angular.element('#editProcessoEcm').scope().$showPageEditWorkspace(angular.element('#editProcessoEcm').scope().workspace);
  63 + angular.element('#newProcesso').scope().$showPageEditWorkspace(angular.element('#newProcesso').scope().workspace);
64 64 $timeout(function(){
65   - angular.element('#editProcessoEcm').scope().resetForm();
  65 + angular.element('#newProcesso').scope().resetForm();
66 66 }, 1000);
67 67  
68 68 }, 300);
... ...
cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/MetadadoProcessoViewController.js 0 → 100644
... ... @@ -0,0 +1,17 @@
  1 +'use strict';
  2 +
  3 +citApp.controller('MetadadoProcessoViewController', ['$scope', 'ProcessoRepository', '$translate', '$timeout', '$filter', function ProcessoController($scope, ProcessoRepository, $translate, $timeout, $filter) {
  4 +
  5 + $scope.processo = {};
  6 +
  7 + // Consulta entidade e mostra no formulario
  8 + $scope.getProcessoView = function(processo){
  9 +
  10 + $scope.setLoadingGet(true);
  11 +
  12 + ProcessoRepository.getMetadadoProcesso(processo.id).then(function(result) {
  13 + $scope.processo = result.originalElement;
  14 + $scope.setLoading(false);
  15 + });
  16 + };
  17 +}]);
... ...
cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/ProcessoController.js
1 1 'use strict';
2 2  
3   -citApp.controller('ProcessoController', ['$scope', 'ProcessoRepository', 'DominioRepository', '$translate', '$timeout', 'TipoDocumentoRepository', 'EstruturaOrganizacionalRepository', 'PessoaRepository', 'NivelAcessoTipoProcessoRepository', 'TipoProcessoRepository', 'PlanoClassificacaoRepository', 'TipoProcessoPlanoClassificacaoRepository', '$filter', 'HipoteseLegalRepository', 'HistoricoAlteracaoProcessoRepository', function ProcessoController($scope, ProcessoRepository, DominioRepository, $translate, $timeout, TipoDocumentoRepository , EstruturaOrganizacionalRepository , PessoaRepository, NivelAcessoTipoProcessoRepository,TipoProcessoRepository ,PlanoClassificacaoRepository, TipoProcessoPlanoClassificacaoRepository, $filter, HipoteseLegalRepository, HistoricoAlteracaoProcessoRepository) {
  3 +citApp.controller('ProcessoController', ['$scope', 'ProcessoRepository', 'DominioRepository', '$translate', '$timeout', 'TipoDocumentoRepository', 'EstruturaOrganizacionalRepository', 'PessoaRepository', 'NivelAcessoTipoProcessoRepository', 'TipoProcessoRepository', 'PlanoClassificacaoRepository', 'TipoProcessoPlanoClassificacaoRepository', '$filter', 'HipoteseLegalRepository', 'HistoricoAlteracaoProcessoRepository','InteressadoProcessoRepository', function ProcessoController($scope, ProcessoRepository, DominioRepository, $translate, $timeout, TipoDocumentoRepository , EstruturaOrganizacionalRepository , PessoaRepository, NivelAcessoTipoProcessoRepository,TipoProcessoRepository ,PlanoClassificacaoRepository, TipoProcessoPlanoClassificacaoRepository, $filter, HipoteseLegalRepository, HistoricoAlteracaoProcessoRepository, InteressadoProcessoRepository) {
4 4  
5 5 $scope.processo = {};
6 6 $scope.assuntoPlanoClassificacao = null;
... ... @@ -8,16 +8,22 @@ citApp.controller(&#39;ProcessoController&#39;, [&#39;$scope&#39;, &#39;ProcessoRepository&#39;, &#39;Domini
8 8 $scope.processo.tipoProtocolo = {
9 9 codigo : 1
10 10 };
  11 +
  12 + $scope.setForm = function(scope){
  13 + this.processoForm = scope.processoForm;
  14 + };
11 15  
12 16 // Limpa formulário para novo cadastro
13 17 $scope.resetForm = function() {
14   - $scope.limparProcesso();
15   -
  18 +
  19 + $scope.limparProcesso();
  20 +
16 21 $scope.edit = true;
17 22 $timeout(function(){
18 23 $scope.processoForm.$submitted = false;
19 24 $scope.processoForm.$setPristine();
20 25 });
  26 +
21 27 };
22 28  
23 29 // Atualiza pagina de pesquisa
... ... @@ -62,21 +68,17 @@ citApp.controller(&#39;ProcessoController&#39;, [&#39;$scope&#39;, &#39;ProcessoRepository&#39;, &#39;Domini
62 68  
63 69 ProcessoRepository.save($scope.processo).then(function(result) {
64 70 $scope.processo = result.originalElement;
65   - $scope.showAlert("success", $translate.instant('ECM.MSG.SALVO_SUCESSO'), $translate.instant('ECM.MSG.O_PROCESSO') + " " + $scope.processo.nup);
66 71  
67 72 if(isNew){
68   - var historicoAlteracaoProcesso = {
69   - descricaoAcao : $translate.instant('ECM.MSG_HISTORICO_ECM.INCLUSAO_PROCESSO'),
70   - processo : $scope.processo,
71   - autor : $scope.usuarioLogado,
72   - acaoAlteracao : "INCLUSAO_PROCESSO"
73   - };
74   - HistoricoAlteracaoProcessoRepository.saveParams(historicoAlteracaoProcesso).then(function(result){
75   -
76   - $scope.setLoadingSalva(false);
77   -
78   - });
  73 +
  74 + $scope.showAlert("success", $translate.instant('ECM.MSG.SALVO_SUCESSO'), $translate.instant('ECM.MSG.O_PROCESSO') + " " + $scope.processo.nup);
  75 +
  76 + $scope.setLoadingSalva(false);
  77 +
  78 + $scope.resetForm();
  79 +
79 80 } else {
  81 + $scope.showAlert("success", $translate.instant('MSG.REGISTRO_SALVO'));
80 82 var historicoAlteracaoProcesso = {
81 83 descricaoAcao : $translate.instant('ECM.MSG_HISTORICO_ECM.ALTERACAO_METADADO_PROCESSO'),
82 84 processo : $scope.processo,
... ... @@ -88,9 +90,10 @@ citApp.controller(&#39;ProcessoController&#39;, [&#39;$scope&#39;, &#39;ProcessoRepository&#39;, &#39;Domini
88 90 $scope.setLoadingSalva(false);
89 91  
90 92 });
  93 +
  94 + $scope.$parent.$parent.atualizaProcesso();
91 95 }
92   - $scope.processoForm.$submitted = false;
93   - $scope.resetForm();
  96 + $scope.processoForm.$submitted = false;
94 97 });
95 98  
96 99 }else{
... ... @@ -103,8 +106,12 @@ citApp.controller(&#39;ProcessoController&#39;, [&#39;$scope&#39;, &#39;ProcessoRepository&#39;, &#39;Domini
103 106 $scope.limparProcesso = function(){
104 107 $scope.processo = {};
105 108 $scope.assuntoPlanoClassificacao = null;
106   - $scope.sugestoes = null;
107 109 $scope.assuntoSelecionado = null;
  110 + $scope.sugestoes = null;
  111 + $scope.assuntos = [];
  112 + angular.element('#sugestoes').scope().sugestoes = null;
  113 + angular.element('#assuntoSelecionado').scope().limparCampo();
  114 +
108 115 $scope.processo.tipoProtocolo = {
109 116 codigo : 1
110 117 };
... ... @@ -113,33 +120,31 @@ citApp.controller(&#39;ProcessoController&#39;, [&#39;$scope&#39;, &#39;ProcessoRepository&#39;, &#39;Domini
113 120  
114 121 // Consulta entidade e mostra no formulario
115 122 $scope.getProcesso = function(processo, edit){
116   -
  123 +
  124 + $scope.processoForm = $scope.processoEditController.processoForm;
  125 +
117 126 $scope.setLoadingGet(true);
118 127  
119 128 ProcessoRepository.get(processo.id).then(function(result) {
120 129 $scope.processo = result.originalElement;
121 130 $scope.edit = edit;
122 131 $scope.setLoading(false);
123   - $scope.constroiRelacionamentoTipoProcesso($scope.processo.tipoProcesso);
  132 + $scope.findSugestaoAssunto($scope.processo.tipoProcesso);
  133 + $scope.findNivelAcessoTipoProcesso($scope.processo.tipoProcesso);
124 134 $scope.montarHipotese();
125   - $scope.setAssuntoModelByTipoAssunto();
126   -
  135 + $scope.setAssuntoModelByTipoAssunto();
127 136 });
128 137 };
129 138  
130 139 $scope.setAssuntoModelByTipoAssunto = function(){
131 140 $scope.sugestoes = [];
132 141 $scope.assuntos = [];
133   - TipoProcessoPlanoClassificacaoRepository.findByIdJoin('tipoProcesso.id', $scope.processo.tipoProcesso.id).then(function(result){
134   - angular.forEach(result, function (item) {
135   - $scope.assuntos.push(item.planoClassificacao);
136   - });
137   - if($scope.processo.tipoAssunto == 1){
138   - $scope.sugestoes.push($scope.processo.assunto);
139   - }else if($scope.processo.tipoAssunto == 2 ) {
140   - $scope.assuntoSelecionado = $scope.processo.assunto;
141   - }
142   - });
  142 +
  143 + if($scope.processo.tipoAssunto == 1){
  144 + $scope.sugestoes.push($scope.processo.assunto);
  145 + }else if($scope.processo.tipoAssunto == 2 ) {
  146 + $scope.assuntoSelecionado = $scope.processo.assunto;
  147 + }
143 148  
144 149 };
145 150  
... ... @@ -177,6 +182,8 @@ citApp.controller(&#39;ProcessoController&#39;, [&#39;$scope&#39;, &#39;ProcessoRepository&#39;, &#39;Domini
177 182  
178 183 $scope.findSugestaoAssunto = function(tipoProcesso){
179 184  
  185 + $scope.assuntos = [];
  186 +
180 187 TipoProcessoPlanoClassificacaoRepository.findPorTipoProcesso(tipoProcesso.id).then(function(result){
181 188  
182 189 angular.forEach(result, function (item) {
... ... @@ -186,21 +193,23 @@ citApp.controller(&#39;ProcessoController&#39;, [&#39;$scope&#39;, &#39;ProcessoRepository&#39;, &#39;Domini
186 193 });
187 194 };
188 195  
189   - $scope.constroiRelacionamentoTipoProcesso = function(tipoProcesso){
  196 + $scope.findNivelAcessoTipoProcesso = function(tipoProcesso){
  197 + $scope.nivelAcessoList = [];
190 198  
191   - $scope.nivelAcessoList = [];
192   -
193   - $scope.assuntos = [];
194   -
195   - NivelAcessoTipoProcessoRepository.findPorIdTipoProcesso(tipoProcesso.id).then(function(result) {
196   -
197   - $scope.nivelAcessoList = result;
198   - //Setar o nivelAcessoTipoProcesso público.
199   - $scope.processo.nivelAcesso = $.grep($scope.nivelAcessoList, function(e){ return e.nivelAcesso.codigo == 2; })[0].originalElement;
200   -
201   - $scope.findSugestaoAssunto(tipoProcesso);
202   - });
203   - };
  199 + NivelAcessoTipoProcessoRepository.findPorIdTipoProcesso(tipoProcesso.id).then(function(result) {
  200 + $scope.nivelAcessoList = result;
  201 +
  202 + /* $scope.processo.nivelAcesso = $.grep($scope.nivelAcessoList, function(e){ return e.nivelAcesso.codigo == 2; })[0].originalElement; */
  203 + });
  204 + };
  205 +
  206 + $scope.constroiRelacionamentoTipoProcesso = function(tipoProcesso){
  207 +
  208 + $scope.findSugestaoAssunto(tipoProcesso);
  209 +
  210 + $scope.findNivelAcessoTipoProcesso(tipoProcesso);
  211 +
  212 + };
204 213  
205 214  
206 215 //SET HIPOTESE LEGAL #INICIO
... ... @@ -236,22 +245,24 @@ citApp.controller(&#39;ProcessoController&#39;, [&#39;$scope&#39;, &#39;ProcessoRepository&#39;, &#39;Domini
236 245  
237 246 //SET HIPOTESE LEGAL #INICIO
238 247 $scope.montarHipotese = function(){
  248 +
  249 + $scope.hipoteses = null;
239 250  
240   - if($scope.processo.tipoSigiloProcesso && $scope.processo.tipoSigiloProcesso.id){
241   -
242   - HipoteseLegalRepository.findPorNivelAcesso($scope.processo.tipoSigiloProcesso.id).then(function(result) {
243   -
244   - $scope.hipoteses = result;
245   -
246   - });
247   - }else if($scope.processo.nivelAcesso.nivelAcesso.codigo === 1){
248   -
249   - HipoteseLegalRepository.findPorNivelAcesso($scope.processo.nivelAcesso.nivelAcesso.id).then(function(result) {
250   -
251   - $scope.hipoteses = result;
252   -
253   - });
254   - }
  251 + if($scope.processo.sigilo && $scope.processo.sigilo.id){
  252 +
  253 + HipoteseLegalRepository.findPorNivelAcesso($scope.processo.sigilo.id).then(function(result) {
  254 +
  255 + $scope.hipoteses = result;
  256 +
  257 + });
  258 + }else if($scope.processo.nivelAcesso && $scope.processo.nivelAcesso.nivelAcesso.codigo === 1){
  259 +
  260 + HipoteseLegalRepository.findPorNivelAcesso($scope.processo.nivelAcesso.nivelAcesso.id).then(function(result) {
  261 +
  262 + $scope.hipoteses = result;
  263 +
  264 + });
  265 + }
255 266 };
256 267  
257 268 $scope.setInteressados = function(item){
... ... @@ -261,25 +272,46 @@ citApp.controller(&#39;ProcessoController&#39;, [&#39;$scope&#39;, &#39;ProcessoRepository&#39;, &#39;Domini
261 272 $scope.processo.interessados.push({
262 273 interessado : item
263 274 });
  275 + //Limpa autoComplete de interessado
264 276 $timeout(function(){
265   - $scope.interessado = null;
  277 + if($scope.processoForm && $scope.processoForm['interessado']) {
  278 + $scope.processoForm['interessado'].$setViewValue('');
  279 + $scope.processoForm['interessado'].$render();
  280 + };
266 281 });
267 282 };
268 283  
269 284 $scope.removerInteressados = function(){
270 285 if($scope.interessadoChecked){
271   - $scope.$openModalConfirm({message: $translate.instant('MSG.DESEJA_EXCLUIR_ITENS'), callback: $scope.excluir, item: $scope.interessadoChecked});
  286 + $scope.$openModalConfirm({message: $translate.instant('MSG.DESEJA_EXCLUIR_ITENS'), callback: $scope.excluirInteressado, item: $scope.interessadoChecked});
  287 + }else{
  288 + $scope.showAlert('warning', $translate.instant('MSG.SELECIONE_ITEM_EXCLUIR'), " ", false);
272 289 }
273 290 };
274   -
275   - $scope.excluir = function() {
  291 +
  292 + //Setar o interessado para remoção.
  293 + $scope.setInteressadoRemocao = function(interessadoRemocao, $index){
  294 + $scope.interessadoChecked = interessadoRemocao;
  295 + $scope.interessadoChecked.$index = $index;
  296 + };
  297 +
  298 + //Remove o interessado
  299 + $scope.excluirInteressado = function() {
276 300 var obj = this.item;
277 301 if (obj.id) {
278   - $scope.showAlertSucesso("success", $translate.instant('MSG.REGISTRO_EXCLUIDO'));
  302 + InteressadoProcessoRepository.remove(obj).then(function() {
  303 +
  304 + });
279 305 }
  306 + $scope.showAlertSucesso("success", $translate.instant('MSG.REGISTRO_EXCLUIDO'));
280 307 $scope.processo.interessados.splice(obj.$index, 1);
281 308 $scope.$modalConfirmInstance.dismiss('cancel');
  309 +
  310 + $scope.interessadoChecked = null;
282 311 };
  312 +
  313 +
  314 +
283 315  
284 316 DominioRepository.findAllDominio('tipoProtocoloNup').then(function(result) {
285 317 $scope.dominiosTipoProtocoloNup = result;
... ... @@ -296,17 +328,14 @@ citApp.controller(&#39;ProcessoController&#39;, [&#39;$scope&#39;, &#39;ProcessoRepository&#39;, &#39;Domini
296 328 }, 600);
297 329  
298 330 };
299   -
300   -/* $scope.update_select = function(sugestao) {
301   - console.log($scope.selection);
302   - };*/
  331 +
303 332  
304 333 $scope.setAssunto = function(itens){
305 334  
  335 + $scope.processo.tipoAssunto = 1;
306 336 if(itens.length > 1){
307 337  
308 338 $scope.processo.assunto = itens[itens.length - 1];
309   - $scope.processo.tipoAssunto = 1;
310 339 $scope.sugestoes = [];
311 340 $scope.sugestoes.push($scope.assunto);
312 341  
... ... @@ -321,5 +350,13 @@ citApp.controller(&#39;ProcessoController&#39;, [&#39;$scope&#39;, &#39;ProcessoRepository&#39;, &#39;Domini
321 350 $scope.processo.tipoAssunto = 2;
322 351 $scope.processo.assunto = assuntoSelecionado;
323 352 };
  353 +
  354 + $scope.inicializarProcesso = function(){
  355 +
  356 + $timeout(function() {
  357 + $scope.processoForm = $scope.processoNewController.processoForm;
  358 + });
  359 + };
  360 +
324 361  
325 362 }]);
... ...
cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/ProcessoFinalizadoListController.js
... ... @@ -4,7 +4,7 @@ citApp.controller(&#39;ProcessoFinalizadoListController&#39;, [&#39;$scope&#39;, &#39;ProcessoReposi
4 4 $scope.$showAdvancedFilters = false;
5 5  
6 6 $scope.resetForm = function() {
7   - angular.element("#editProcessoEcm").scope().resetForm();
  7 + angular.element("#editProcesso").scope().resetForm();
8 8 };
9 9  
10 10 $scope.headers = [{title : $translate.instant('ECM.LABEL.PROTOCOLO'), value : 'nup' }, {title : $translate.instant('ECM.LABEL.TIPOPROCESSO'), value : 'tipoProcesso.nome'} , {title : $translate.instant('ECM.LABEL.CLASSIFICACAO_ARQUIVISTICA'), value : 'assunto.nome'},
... ... @@ -35,7 +35,7 @@ citApp.controller(&#39;ProcessoFinalizadoListController&#39;, [&#39;$scope&#39;, &#39;ProcessoReposi
35 35 $scope.showAlert('warning', !edit ? $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_VISUALIZACAO') : $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_EDICAO'));
36 36 return;
37 37 }
38   - angular.element('#editProcessoEcm').scope().getProcesso(processo, edit);
  38 + angular.element('#editProcesso').scope().getProcesso(processo, edit);
39 39 $scope.$showPageEditWorkspace($scope.workspace);
40 40 };
41 41 }]);
... ...
cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/ProcessoListController.js
... ... @@ -4,7 +4,7 @@ citApp.controller(&#39;ProcessoListController&#39;, [&#39;$scope&#39;, &#39;ProcessoRepository&#39;, &#39;$t
4 4 $scope.$showAdvancedFilters = false;
5 5  
6 6 $scope.resetForm = function() {
7   - angular.element("#editProcessoEcm").scope().resetForm();
  7 + angular.element("#editProcesso").scope().resetForm();
8 8 };
9 9  
10 10 $scope.headers = [{title : $translate.instant('ECM.LABEL.TIPOPROCESSO'), value : 'tipoProcesso.nome'}, {title : $translate.instant('LABEL.NUP'), value : 'nup' } , {title : $translate.instant('ECM.LABEL.ASSUNTOCOMPLEMENTAR'), value : 'assuntoComplementar' }];
... ... @@ -26,7 +26,7 @@ citApp.controller(&#39;ProcessoListController&#39;, [&#39;$scope&#39;, &#39;ProcessoRepository&#39;, &#39;$t
26 26 $scope.showAlert('warning', !edit ? $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_VISUALIZACAO') : $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_EDICAO'));
27 27 return;
28 28 }
29   - angular.element('#editProcessoEcm').scope().getProcesso(processo, edit);
  29 + angular.element('#editProcesso').scope().getProcesso(processo, edit);
30 30 $scope.$showPageEditWorkspace($scope.workspace);
31 31 };
32 32 }]);
... ...
cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/UnidadeProcessoController.js
... ... @@ -163,7 +163,7 @@ citApp.controller(&#39;UnidadeProcessoController&#39;, [&#39;$scope&#39;, &#39;UnidadeProcessoReposi
163 163 //Verifica se o processo está sendo concluido na unidade
164 164 if($scope.enviarProcessoVH.concluirProcesso){
165 165  
166   - var workspace = angular.element('#editProcessoEcm').scope().workspace;
  166 + var workspace = angular.element('#editProcesso').scope().workspace;
167 167 if (workspace) {
168 168 $scope.$modalConfirmInstance.dismiss('cancel');
169 169 angular.element("#citapp-controller").scope().removeWorkspace(workspace.id);
... ... @@ -179,6 +179,7 @@ citApp.controller(&#39;UnidadeProcessoController&#39;, [&#39;$scope&#39;, &#39;UnidadeProcessoReposi
179 179  
180 180 $timeout(function(){
181 181 $scope.$parent.$parent.closeWidget();
  182 + $scope.$parent.$parent.atualizarAtribuicaoProcesso($scope.enviarProcessoVH.idProcesso);
182 183 },200);
183 184  
184 185 }
... ...
cit-ecm-web/src/main/webapp/assets/js/angular/custom/repository/ProcessoRepository.js
... ... @@ -37,6 +37,16 @@ citApp.factory(&#39;ProcessoRepository&#39;, [&#39;RestangularEcm&#39;, &#39;AbstractRepository&#39;, fu
37 37  
38 38 };
39 39  
  40 + this.getMetadadoProcesso = function (idProcesso){
  41 + return restangularEcm.one(this.route + '/getMetadadoProcesso').get({"idProcesso": idProcesso});
  42 +
  43 + };
  44 +
  45 + this.autoCompleteProcessoEmAndametoByNup = function (nup){
  46 + return restangularEcm.one(this.route + '/autoCompleteProcessoEmAndametoByNup').get({"nup": nup}).then();
  47 +
  48 + };
  49 +
40 50 }
41 51  
42 52 AbstractRepository.extend(ProcessoRepository);
... ...
cit-ecm-web/src/main/webapp/assets/js/angular/custom/repository/UnidadeProcessoRepository.js
... ... @@ -18,6 +18,11 @@ citApp.factory(&#39;UnidadeProcessoRepository&#39;, [&#39;RestangularEcm&#39;, &#39;AbstractReposito
18 18  
19 19 };
20 20  
  21 + this.findByPorIdProcessoEmExecucao = function(idProcesso) {
  22 + return restangularEcm.one(this.route).getList("findByPorIdProcessoEmExecucao", {"idProcesso": idProcesso}).then();
  23 + };
  24 +
  25 +
21 26 }
22 27  
23 28 AbstractRepository.extend(UnidadeProcessoRepository);
... ...
cit-ecm-web/src/main/webapp/html/anexarProcesso/anexarProcesso.html
... ... @@ -34,7 +34,7 @@
34 34 <div class="row">
35 35  
36 36 <div class="col-md-8">
37   - <auto-complete ng-id="processo" numbers-only ng-label="ECM.LABEL.PROCESSO" ng-model="processo" ng-find="findAutoCompleteProcesso(value)" ng-item="item.nup" />
  37 + <auto-complete ng-id="processo" numbers-only ng-label="ECM.LABEL.PROCESSO" ng-model="processo" ng-find="autoCompleteProcessoEmAndametoByNup(value)" ng-item="item.nup" />
38 38 </div>
39 39  
40 40  
... ... @@ -53,10 +53,6 @@
53 53 <translate>LABEL.ADICIONAR</translate>
54 54 </a>
55 55 </button>
56   - <button class="btn btn-clear" type="button" ng-click="exibirDialogRemocao()">
57   - <i class="fa fa-times red"></i>
58   - <translate>LABEL.REMOVER</translate>
59   - </button>
60 56 </div>
61 57 <table class="table table-striped table-bordered table-hover">
62 58 <thead>
... ...
cit-ecm-web/src/main/webapp/html/gerenciarProcesso/includeAcaoProcesso.html
... ... @@ -26,32 +26,6 @@
26 26 <!-- Assinatura documento -->
27 27 <div ng-include src="'/cit-ecm-web/html/assinatura/documentoAssinaturaView.html'" ng-show="exibirAssinarDocAnexo" />
28 28  
29   -<div id="widget-processo" ng-show="isProcessoEdit" class="widget-box margin-bottom">
30   - <div class="widget-header">
31   - <h2 class="widget-title">
32   - <translate>ECM.LABEL.PROCESSO</translate>
33   - </h2>
34   -
35   - <div class="widget-toolbar">
36   - <a href="#void" ng-click="closeWidget('widget-processo')"> <i class="fa fa-close"></i>
37   - </a>
38   - </div>
39   - </div>
40   - <div class="widget-body">
41   - <div class="widget-main clearfix">
42   - <div ng-include src="'/cit-ecm-web/html/processo/processoEdit.html'" />
43   - </div>
44   - </div>
45   -
46   - <div class="row">
47   - <div style="margin-top: -38px; margin-left: 17px;" class="col-md-12">
48   - <button class="btn btn-sm btn-primary" ng-click="saveOrUpdateProcessoECM()" ng-show="true">
49   - <translate>LABEL.SALVAR</translate>
50   - </button>
51   -
52   - <button class="btn btn-sm btn-primary" ng-click="closeWidget('widget-processo')" ng-show="true">
53   - <translate>LABEL.CANCELAR</translate>
54   - </button>
55   - </div>
56   - </div>
57   -</div>
58 29 \ No newline at end of file
  30 +<div ng-include src="'/cit-ecm-web/html/processo/metadadoProcessoView.html'" ng-show="isVisualizarMetadadoProcesso" />
  31 +
  32 +<div ng-include src="'/cit-ecm-web/html/processo/processoEdit.html'" ng-show="isProcessoEdit" />
59 33 \ No newline at end of file
... ...
cit-ecm-web/src/main/webapp/html/gerenciarProcesso/includeDocumentosProcesso.html
... ... @@ -13,6 +13,8 @@
13 13 <div class="time hidden-md">
14 14 <i class="ace-icon fa fa-clock-o"></i> <span class="blue">{{documento.dataCriacao | date: 'dd/MM/yyyy HH:mm:ss'}} </span>
15 15 </div>
  16 +
  17 + <div ><a href="#void" ng-click = 'visualizarMetadadosProcessoDocumento(documento.origem)'>{{documento.origem.nup}}</a></div>
16 18  
17 19 <div class="text ellipsis" tooltip="{{documento.assuntoComplementar}}">{{documento.assuntoComplementar}}</div>
18 20  
... ... @@ -36,12 +38,12 @@
36 38  
37 39 <ul class="dropdown-menu-center dropdown-menu dropdown-caret" role="menu">
38 40 <li ng-if='!documento.cancelado && documento.status.codigo != 0'><a href="#void" ng-click="editDocument(documento, true);"><translate>LABEL.EDITAR</translate></a></li>
39   - <li ng-if='!processo.isTramitado && (!documento.cancelado && documento.unidade.id === usuarioLogado.unidade.id)'><a href="#void" ng-click="removeDocumento(documento, $index);"><translate>LABEL.REMOVER</translate></a></li>
40   - <li ng-if='processo.isTramitado && (!documento.cancelado && documento.unidade.id === usuarioLogado.unidade.id)'><a href="#void" ng-click='cancelarDocumento(documento)'> <translate>ECM.LABEL.CANCELARDOCUMENTO</translate></a></li>
  41 + <li ng-if='!processo.tramitado && (!documento.cancelado && documento.unidade.id === usuarioLogado.unidade.id)'><a href="#void" ng-click="removeDocumento(documento, $index);"><translate>LABEL.REMOVER</translate></a></li>
  42 + <li ng-if='processo.tramitado && (!documento.cancelado && documento.unidade.id === usuarioLogado.unidade.id)'><a href="#void" ng-click='cancelarDocumento(documento)'> <translate>ECM.LABEL.CANCELARDOCUMENTO</translate></a></li>
41 43 <li ng-if='!documento.cancelado'><a href="#void" ng-click="visualizarVersoes(documento);"> <translate>ECM.LABEL.VERSOESDODOCUMENTO</translate></a></li>
42 44 <li ><a ng-if='documento.cancelado'href="#void" ng-click="getCancelamentoDocumento(documento);"> <translate>ECM.LABEL.JUSTIFICATIVA_CANCELAMENTO</translate></a></li>
43   - <li ><a href="#void" ng-click="abrirAssinarDocumento(documento)"> <translate>ECM.LABEL.ASSINARDOCUMENTO</translate></a></li>
44   - <li ><a href="#void" ng-click="visualizarAssinaturasDocumento(documento)"> <translate>ECM.LABEL.ASSINATURAS_DOCUMENTO</translate></a></li>
  45 +<!-- <li ><a href="#void" ng-click="abrirAssinarDocumento(documento)"> <translate>ECM.LABEL.ASSINARDOCUMENTO</translate></a></li>
  46 + <li ><a href="#void" ng-click="visualizarAssinaturasDocumento(documento)"> <translate>ECM.LABEL.ASSINATURAS_DOCUMENTO</translate></a></li> -->
45 47 </ul>
46 48  
47 49 </div>
... ...
cit-ecm-web/src/main/webapp/html/gerenciarProcesso/includeInformacaoProcesso.html
1 1  
2   -
3 2 <div class="widget-main clearfix">
4 3  
5 4 <div class="col-md-4">
... ...
cit-ecm-web/src/main/webapp/html/historicoAlteracaoProcesso/historicoAlteracaoProcesso.html
... ... @@ -3,7 +3,7 @@
3 3 <h2 class="widget-title">
4 4 <translate>ECM.LABEL.HISTORICO_ALTERACAO_PROCESSO</translate>
5 5 </h2>
6   - <div class="col-sm-9 text-right">
  6 + <div class="widget-toolbar">
7 7 <button class="btn btn-clear" title="{{$translate.instant('LABEL.ATUALIZAR')}}" alt="{{$translate.instant('LABEL.ATUALIZAR')}}" ng-click="closeWidget()">
8 8 <i class="fa fa-refresh purple"></i>
9 9 <translate>LABEL.ATUALIZAR</translate>
... ... @@ -11,6 +11,7 @@
11 11 </div>
12 12  
13 13 </div>
  14 +
14 15 <div class="widget-body">
15 16 <div class="widget-main clearfix">
16 17 <div class="timeline" style="height: 420px; overflow: auto;">
... ...
cit-ecm-web/src/main/webapp/html/processo/metadadoProcesso.html
... ... @@ -1,166 +0,0 @@
1   - <p>
2   - <small>( <span class="red">*</span> ) <translate>LABEL.CAMPOS_OBRIGATORIOS</translate></small>
3   - </p>
4   -
5   - <fieldset>
6   -
7   - <legend>
8   - <translate>LABEL.DADOS_PROCESSO</translate>
9   - </legend>
10   -
11   - <div class="row">
12   - <div class="col-md-3">
13   - <label-select ng-id="processo.tipoProtocolo" ng-disabled='!edit' ng-model="processo.tipoProtocolo" ng-label="LABEL.TIPOPROTOCOLO" ng-obrigatorio='true' form="processoForm"
14   - ng-list="dominiosTipoProtocoloNup" ng-custom-options="dominioTipoProtocoloNup.originalElement as dominioTipoProtocoloNup.descricao for dominioTipoProtocoloNup"
15   - track-by="track by dominioTipoProtocoloNup.id"> </label-select>
16   - </div>
17   -
18   - <div class="col-md-3" ng-show='processo.tipoProtocolo.codigo == 2'>
19   - <div class='form-group' ng-class="{'has-error': processoForm['protocolo'].$error.required && (!processoForm['protocolo'].$pristine || processoForm.$submitted)}">
20   - <label class='control-label'> <translate>LABEL.PROTOCOLO</translate> <span class='red'>*</span>
21   - </label> <i ng-show="processoForm['protocolo'].$error.required && !processoForm['protocolo'].$pristine || processoForm.$submitted" class='fa fa-warning red' tooltip="{{$translate.instant('LABEL.PROTOCOLO') + ' ' +$translate.instant('LABEL.CAMPO_OBRIGATORIO')}}" tooltip-placement='top'></i>
22   - <input ng-required="processo.tipoProtocolo.codigo == 2" class="form-control" numbers-only id="protocolo" ng-show='processo.tipoProtocolo.codigo == 2' ng-label="LABEL.PROTOCOLO" ng-disabled='!edit' ng-model="processo.nup" form="processoForm" />
23   - </div>
24   - </div>
25   -
26   - </div>
27   -
28   - <div class="row">
29   - <div class="col-md-6">
30   - <auto-complete ng-id="processo.tipoProcesso" ng-set-result="constroiRelacionamentoTipoProcesso(item)" ng-label="LABEL.TIPOPROCESSO" ng-model="processo.tipoProcesso" form="processoForm"
31   - ng-find="findAutoCompleteTipoProcesso(value)" ng-item="item.nome" ng-obrigatorio='true' ng-disabled='!edit' />
32   - </div>
33   - </div>
34   -
35   - <div class="row" ng-show='processo.tipoProcesso.id'>
36   - <div class="col-md-6">
37   - <auto-complete ng-id="assuntoSelecionado" ng-disabled='sugestoes' ng-label="LABEL.ASSUNTO" ng-set-result='setTipoAssunto(item)' ng-model="assuntoSelecionado" form="processoForm"
38   - ng-find="findAutoCompleteAssunto(value)" ng-item="item.assunto" ng-obrigatorio='{{!sugestoes}}' />
39   -
40   - </div>
41   - </div>
42   - <div class="row" ng-show='processo.tipoProcesso.id'>
43   - <div class="col-md-6">
44   - <div class="form-group">
45   - <div class="input-group">
46   - <select class="form-control typeahead-wide" ng-model="sugestoes" ng-change="setAssunto(sugestoes)" multiple ng-id="sugestao" ng-disabled='assuntoSelecionado.id' ng-multiple="true"
47   - ng-options="sugestao as sugestao.assunto for sugestao in assuntos" track-by="track by sugestao.id">
48   - </select> <span ng-show="sugestoes" class="input-group-addon" ng-click="sugestoes = null" ng-class="{'hover-directive' : (($hover == true) && !disabled)}" ng-mouseover="$hover = true"
49   - ng-mouseout="$hover = false"> <i class="fa fa-eraser bigger-110"></i>
50   - </span> <span class="input-group-addon" style="visibility: hidden;"> <i class="fa fa-search bigger-110"></i>
51   - </span>
52   - </div>
53   - </div>
54   - </div>
55   - </div>
56   - <div class="row" ng-show='processo.tipoProcesso.id'>
57   -
58   - <div class="col-md-6">
59   - <label-select ng-id="processo.nivelAcesso" ng-label="LABEL.NIVEL_ACESSO" ng-model="processo.nivelAcesso" ng-custom-change='setHipoteseLegal(processo.nivelAcesso.id)' form="processoForm"
60   - ng-obrigatorio="true" ng-disabled="!edit" ng-custom-options="nivelAcessoTipoProcesso.originalElement as nivelAcessoTipoProcesso.nivelAcesso.descricao for nivelAcessoTipoProcesso"
61   - track-by="track by nivelAcessoTipoProcesso.id" ng-list="nivelAcessoList" />
62   - </div>
63   -
64   - <div class="col-md-6">
65   - <div class="form-group" ng-show='processo.nivelAcesso.nivelAcesso.codigo == 0'>
66   - <label class="control-label block" ng-class="{'has-error': processoForm['processo.sigilo.id'].$error.required && (!processoForm['processo.sigilo.id'].$pristine || processoForm.$submitted)}">
67   - <translate>LABEL.SIGILO</translate> <span class="red">*</span> <i
68   - ng-show="processoForm['processo.sigilo.id'].$error.required && (!processoForm['processo.sigilo.id'].$pristine || processoForm.$submitted)" class='fa fa-warning red'
69   - tooltip="{{$translate.instant('LABEL.SIGILO') + ' ' +$translate.instant('LABEL.CAMPO_OBRIGATORIO')}}" tooltip-placement='top'></i>
70   - </label>
71   -
72   - <div class="radio-inline" ng-repeat="sigilo in processo.nivelAcesso.sigilos">
73   - <label> <input type="radio" required="processo.nivelAcesso.nivelAcesso.codigo == 1" name="processo.sigilo.id" id="processo.tipoSigilo.id" ng-disabled="!edit"
74   - ng-value="sigilo.tipoSigilo.id" ng-model="processo.tipoSigilo.id" ng-change='setHipoteseLegal(processo.nivelAcesso.sigilo.id)' /> {{sigilo.tipoSigilo.descricao}}
75   - </label>
76   - </div>
77   - </div>
78   - </div>
79   -
80   - </div>
81   -
82   - <div class="row">
83   - <div class="col-sm-6" ng-show='processo.nivelAcesso.nivelAcesso.codigo == 1 || processo.tipoSigilo.id'>
84   - <label-select ng-id="processo.hipoteseLegal" ng-model="processo.hipoteseLegal" ng-label="LABEL.HIPOTESELEGAL" ng-obrigatorio='false' form="processoForm" ng-disabled="!edit" ng-list="hipoteses"
85   - ng-custom-options="hipoteseLegal.originalElement as hipoteseLegal.nome for hipoteseLegal" ng-obrigatorio='true' track-by="track by hipoteseLegal.id" ng-disabled='!edit'> </label-select>
86   - </div>
87   - </div>
88   -
89   -
90   - <div class="row">
91   -
92   - <div class="col-md-6">
93   -
94   - <label-text-area ng-id="processo.assuntoComplementar" ng-label="LABEL.ASSUNTOCOMPLEMENTAR" ng-model="processo.assuntoComplementar" ng-disabled="!edit" form="processoForm" />
95   -
96   - </div>
97   -
98   - <div class="col-md-6">
99   -
100   - <label-text-area ng-id="processo.observacaoGeral" ng-label="LABEL.OBSERVACAOGERAL" ng-model="processo.observacaoGeral" ng-disabled="!edit" form="processoForm" />
101   -
102   - </div>
103   -
104   - </div>
105   -
106   - <fieldset>
107   -
108   - <legend>
109   - <translate>LABEL.INTERESSADOS</translate>
110   - </legend>
111   -
112   - <div class="row">
113   -
114   - <div class="col-md-12">
115   -
116   - <div class="row">
117   - <div class="col-sm-6">
118   - <auto-complete ng-id="interessado" ng-label="LABEL.INTERESSADO" ng-model="interessado" ng-disabled="!edit" ng-find="findAutoCompleteInteressados(value)" ng-item="item.nome" ng-set-result="setInteressados(item)"
119   - ng-show='!edit' button-new-show="true" button-new-action="novaPessoa();" />
120   - </div>
121   - <!-- <div class="col-sm-6" style="margin-top:30px;">
122   - <a href="#void" ng-show='edit'>
123   - <span class="tree-label" ng-click="novaPessoa();">Cadastro de Pessoa</span>
124   - </a>
125   - </div> -->
126   - </div>
127   -
128   - <div class="row">
129   - <div class="col-sm-6">
130   - <div class="panel panel-default">
131   - <div class="panel-heading clearfix">
132   - <button class="btn btn-clear" type="button" ng-hide="!edit" ng-click="removerInteressados()" ng-show='edit'>
133   - <i class="fa fa-times red"></i>
134   - <translate>LABEL.REMOVER</translate>
135   - </button>
136   - </div>
137   - <table class="table table-striped table-bordered table-hover">
138   - <thead>
139   - <tr>
140   - <th width="5%" class="text-center"></th>
141   -
142   - <th class="text-center"><translate>LABEL.NOME</translate></th>
143   -
144   - </tr>
145   - </thead>
146   - <tbody>
147   - <tr ng-repeat="interessadoList in processo.interessados">
148   - <td class="text-center"><input type="radio" name="interessadoChecked" ng-value="interessadoList" ng-model="$parent.interessadoChecked" ng-click="interessadoList.$index = $index" /></td>
149   -
150   - <td class="text-center">{{interessadoList.interessado.nome}}</td>
151   -
152   -
153   - </tr>
154   - <tr ng-hide="processo.interessados.length > 0">
155   - <td colspan="3" class="text-center"><translate>LABEL.TABELA_VAZIA</translate></td>
156   - </tr>
157   - </tbody>
158   - </table>
159   - </div>
160   - </div>
161   - </div>
162   - </div>
163   - </div>
164   - </fieldset>
165   - </fieldset>
166   -
cit-ecm-web/src/main/webapp/html/processo/metadadoProcessoView.html 0 → 100644
... ... @@ -0,0 +1,130 @@
  1 +<div id="metadadoProcessoView" class="page-content clearfix" ng-controller="MetadadoProcessoViewController">
  2 +
  3 + <div id="widget-atribuirProcesso" class="widget-box margin-bottom">
  4 +
  5 + <div class="widget-header">
  6 + <h2 class="widget-title">
  7 + <translate>ECM.LABEL.DADOS_PROCESSO_ANEXADO</translate>
  8 + </h2>
  9 +
  10 + <div class="widget-toolbar">
  11 + <a href="#void" ng-click="closeWidget('widget-atribuirProcesso')"> <i class="fa fa-close"></i>
  12 + </a>
  13 + </div>
  14 + </div>
  15 +
  16 + <fieldset>
  17 + <div class="col-md-12">
  18 +
  19 + <div class="profile-user-info">
  20 +
  21 + <div class="profile-info-row">
  22 + <div class="profile-info-name">
  23 + <translate>ECM.LABEL.PROTOCOLO</translate>
  24 + </div>
  25 + <div class="profile-info-value">
  26 + <span>{{processo.nup}}</span>
  27 + </div>
  28 + </div>
  29 +
  30 + <div class="profile-info-row">
  31 + <div class="profile-info-name">
  32 + <translate>ECM.LABEL.DATACRIACAO</translate>
  33 + </div>
  34 + <div class="profile-info-value">
  35 + <span>{{processo.dataCriacao | date: 'dd/MM/yyyy HH:mm:ss' }}</span>
  36 + </div>
  37 + </div>
  38 +
  39 + <div class="profile-info-row">
  40 + <div class="profile-info-name">
  41 + <translate>ECM.LABEL.TIPOPROCESSO</translate>
  42 + </div>
  43 + <div class="profile-info-value">
  44 + <span>{{processo.tipoProcesso.nome}}</span>
  45 + </div>
  46 + </div>
  47 +
  48 +
  49 + <div class="profile-info-row ">
  50 + <div class="profile-info-name">
  51 + <translate>ECM.LABEL.ASSUNTO</translate>
  52 + </div>
  53 +
  54 + <div class="profile-info-value">
  55 + <span>{{processo.assunto.assunto}}</span>
  56 + </div>
  57 + </div>
  58 +
  59 + <div class="profile-info-row">
  60 + <div class="profile-info-name">
  61 + <translate>ECM.LABEL.NIVELACESSO</translate>
  62 + </div>
  63 + <div class="profile-info-value">
  64 + <span class="label label-success" ng-show="processo.nivelAcesso.nivelAcesso.nome =='PUBLICO'">{{processo.nivelAcesso.nivelAcesso.descricao}}</span> <span class="label label-warning"
  65 + ng-show="processo.nivelAcesso.nivelAcesso.nome =='RESTRITO'">{{processo.nivelAcesso.nivelAcesso.descricao}}</span> <span class="label label-danger"
  66 + ng-show="processo.nivelAcesso.nivelAcesso.nome =='SIGILOSO'">{{processo.sigilo.tipoSigilo.descricao}}</span>
  67 +
  68 + </div>
  69 + </div>
  70 +
  71 + <div class="profile-info-row ">
  72 + <div class="profile-info-name">
  73 + <translate>ECM.LABEL.HIPOTESELEGAL</translate>
  74 + </div>
  75 +
  76 + <div class="profile-info-value">
  77 + <span>{{processo.hipoteseLegal.nome}}</span>
  78 + </div>
  79 + </div>
  80 +
  81 +
  82 +
  83 + <div class="profile-info-row">
  84 + <div class="profile-info-name">
  85 + <translate>ECM.LABEL.DATAEDICAO</translate>
  86 + </div>
  87 + <div class="profile-info-value">
  88 + <span>{{processo.dataEdicao | date: 'dd/MM/yyyy'}}</span>
  89 + </div>
  90 + </div>
  91 +
  92 + <div class="profile-info-row hidden-md">
  93 + <div class="profile-info-name">
  94 + <translate>ECM.LABEL.ASSUNTOCOMPLEMENTAR</translate>
  95 + </div>
  96 +
  97 + <div class="profile-info-value">
  98 + <span>{{processo.assuntoComplementar}}</span>
  99 + </div>
  100 + </div>
  101 +
  102 + <div class="profile-info-row hidden-md">
  103 + <div class="profile-info-name">
  104 + <translate>ECM.LABEL.OBSERVACAOGERAL</translate>
  105 + </div>
  106 +
  107 + <div class="profile-info-value">
  108 + <span>{{processo.observacaoGeral}}</span>
  109 + </div>
  110 + </div>
  111 +
  112 + <div class="profile-info-row">
  113 + <div class="profile-info-name">
  114 + <translate>ECM.LABEL.INTERESSADOS</translate>
  115 + </div>
  116 + <div class="profile-info-value">
  117 + <ul style="margin-bottom: 1px; margin-left: -23px">
  118 + <li ng-repeat="interessadoList in processo.interessados">{{interessadoList.interessado.nome}}</li>
  119 +
  120 + </ul>
  121 + </div>
  122 + </div>
  123 +
  124 + </div>
  125 + </div>
  126 +
  127 + </fieldset>
  128 +
  129 + </div>
  130 +</div>
... ...
cit-ecm-web/src/main/webapp/html/processo/metadadosProcesso.html 0 → 100644
... ... @@ -0,0 +1,169 @@
  1 +
  2 +<p>
  3 + <small>( <span class="red">*</span> ) <translate>LABEL.CAMPOS_OBRIGATORIOS</translate></small>
  4 +</p>
  5 +
  6 +<fieldset>
  7 +
  8 + <legend>
  9 + <translate>ECM.LABEL.DADOS_PROCESSO</translate>
  10 + </legend>
  11 +
  12 + <div class="row">
  13 + <div class="col-md-6">
  14 + <div class="row">
  15 + <div class="col-md-6 ">
  16 +
  17 + <label-input-radio ng-id="processo.tipoProtocolo.codigo" ng-label="ECM.LABEL.TIPOPROTOCOLO" list="dominiosTipoProtocoloNup" ng-disabled='!edit || processo.id' text="descricao" value="codigo"
  18 + ng-model="processo.tipoProtocolo.codigo" form="processoForm"></label-input-radio>
  19 +
  20 + </div>
  21 + <div class="col-md-6" ng-show='processo.tipoProtocolo.codigo == 2 || processo.id'>
  22 + <div class='form-group' ng-class="{'has-error': processoForm['protocolo'].$error.required && (!processoForm['protocolo'].$pristine || processoForm.$submitted)}">
  23 + <label class='control-label'> <translate>ECM.LABEL.PROTOCOLO</translate> <span class='red'>*</span></label> <i
  24 + ng-show="processoForm['protocolo'].$error.required && !processoForm['protocolo'].$pristine || processoForm.$submitted" class='fa fa-warning red'
  25 + tooltip="{{$translate.instant('ECM.LABEL.PROTOCOLO') + ' ' +$translate.instant('LABEL.CAMPO_OBRIGATORIO')}}" tooltip-placement='top'></i>
  26 + <input class="form-control" numbers-only id="protocolo" ng-show='processo.tipoProtocolo.codigo == 2 || processo.id' ng-label="LABEL.PROTOCOLO" ng-disabled='!edit || processo.id' ng-model="processo.nup"
  27 + form="processoForm" />
  28 + </div>
  29 + </div>
  30 + </div>
  31 + </div>
  32 + </div>
  33 +
  34 + <div class="row">
  35 + <div class="col-md-6">
  36 + <auto-complete ng-id="processo.tipoProcesso" ng-set-result="constroiRelacionamentoTipoProcesso(item)" ng-label="ECM.LABEL.TIPOPROCESSO" ng-model="processo.tipoProcesso" form="processoForm"
  37 + ng-find="findAutoCompleteTipoProcesso(value)" ng-item="item.nome" ng-obrigatorio='true' ng-disabled='!edit || processo.id' />
  38 + </div>
  39 + </div>
  40 +
  41 + <div class="row" ng-show='processo.tipoProcesso.id'>
  42 + <div class="col-md-6">
  43 + <auto-complete ng-id="assuntoSelecionado" ng-disabled='sugestoes.length > 0' ng-label="ECM.LABEL.ASSUNTO" ng-set-result='setTipoAssunto(item)' ng-model="assuntoSelecionado" form="processoForm"
  44 + ng-find="findAutoCompleteAssunto(value)" ng-item="item.assunto" ng-obrigatorio='{{!sugestoes}}' />
  45 +
  46 + </div>
  47 + </div>
  48 +
  49 + <div class="row" ng-show='processo.tipoProcesso.id'>
  50 + <div class="col-md-6">
  51 + <div class="form-group">
  52 + <div class="input-group">
  53 + <select class="form-control typeahead-wide" ng-model="sugestoes" ng-change="setAssunto(sugestoes)" multiple id="sugestoes" form="processoForm" ng-disabled='assuntoSelecionado.id' ng-multiple="false"
  54 + ng-options="sugestao as sugestao.assunto for sugestao in assuntos track by sugestao.id">
  55 + </select> <span ng-show="sugestoes.length > 0" class="input-group-addon" ng-click="sugestoes = null" ng-class="{'hover-directive' : (($hover == true) && !disabled)}" ng-mouseover="$hover = true"
  56 + ng-mouseout="$hover = false"> <i class="fa fa-eraser bigger-110"></i>
  57 + </span> <span class="input-group-addon" style="visibility: hidden;"> <i class="fa fa-search bigger-110"></i></span>
  58 + </div>
  59 +
  60 + </div>
  61 + </div>
  62 + </div>
  63 +
  64 + <div class="row" ng-show='processo.tipoProcesso.id'>
  65 + <div class="col-md-6">
  66 + <label-select ng-id="processo.nivelAcesso" ng-label="ECM.LABEL.NIVEL_ACESSO" ng-model="processo.nivelAcesso" ng-custom-change='setHipoteseLegal(processo.nivelAcesso.id)' form="processoForm"
  67 + ng-obrigatorio="true" ng-disabled="!edit" ng-custom-options="nivelAcessoTipoProcesso.originalElement as nivelAcessoTipoProcesso.nivelAcesso.descricao for nivelAcessoTipoProcesso "
  68 + track-by="track by nivelAcessoTipoProcesso.id" ng-list="nivelAcessoList" show-selecione='false' />
  69 + </div>
  70 +
  71 + <div class="col-md-6">
  72 + <div class="form-group" ng-show='processo.nivelAcesso.nivelAcesso.codigo == 0'>
  73 + <label class="control-label block" ng-class="{'has-error': processoForm['processo.sigilo.id'].$error.required && (!processoForm['processo.sigilo.id'].$pristine || processoForm.$submitted)}">
  74 + <translate>ECM.LABEL.SIGILO</translate> <span class="red">*</span> <i
  75 + ng-show="processoForm['processo.sigilo.id'].$error.required && (!processoForm['processo.sigilo.id'].$pristine || processoForm.$submitted)" class='fa fa-warning red'
  76 + tooltip="{{$translate.instant('ECM.LABEL.SIGILO') + ' ' +$translate.instant('LABEL.CAMPO_OBRIGATORIO')}}" tooltip-placement='top'></i>
  77 + </label>
  78 +
  79 + <div class="radio-inline" ng-repeat="sigiloTipoProcesso in processo.nivelAcesso.sigilos">
  80 + <label> <input type="radio" required="processo.nivelAcesso.nivelAcesso.codigo == 1" name="processo.sigilo.id" id="processo.tipoSigilo.id" ng-disabled="!edit"
  81 + ng-value="sigiloTipoProcesso.sigilo.id" ng-model="processo.sigilo.id" ng-change='setHipoteseLegal(processo.sigilo.id)' /> {{sigiloTipoProcesso.sigilo.tipoSigilo.descricao}}
  82 + </label>
  83 + </div>
  84 + </div>
  85 + </div>
  86 +
  87 + </div>
  88 +
  89 + <div class="row">
  90 + <div class="col-sm-6" ng-show='processo.nivelAcesso.nivelAcesso.codigo == 1 || processo.sigilo.id'>
  91 + <label-select ng-id="processo.hipoteseLegal" ng-model="processo.hipoteseLegal" ng-label="ECM.LABEL.HIPOTESELEGAL" ng-obrigatorio='false' form="processoForm" ng-list="hipoteses"
  92 + ng-custom-options="hipoteseLegal.originalElement as hipoteseLegal.nome for hipoteseLegal" ng-obrigatorio='true' track-by="track by hipoteseLegal.id" ng-disabled='!edit'> </label-select>
  93 + </div>
  94 + </div>
  95 +
  96 +
  97 + <div class="row">
  98 +
  99 + <div class="col-md-6">
  100 +
  101 + <label-text-area ng-id="processo.assuntoComplementar" ng-label="ECM.LABEL.ASSUNTOCOMPLEMENTAR" ng-model="processo.assuntoComplementar" form="processoForm" />
  102 +
  103 + </div>
  104 +
  105 + <div class="col-md-6">
  106 +
  107 + <label-text-area ng-id="processo.observacaoGeral" ng-label="ECM.LABEL.OBSERVACAOGERAL" ng-model="processo.observacaoGeral" form="processoForm" />
  108 +
  109 + </div>
  110 +
  111 + </div>
  112 +
  113 + <fieldset>
  114 +
  115 + <legend>
  116 + <translate>ECM.LABEL.INTERESSADOS</translate>
  117 + </legend>
  118 +
  119 + <div class="row">
  120 +
  121 + <div class="col-md-12">
  122 +
  123 + <div class="row">
  124 + <div class="col-sm-6">
  125 + <auto-complete ng-id="interessado" ng-label="ECM.LABEL.INTERESSADO" ng-model="interessado" ng-find="findAutoCompleteInteressados(value)" ng-item="item.nome" ng-set-result="setInteressados(item)"
  126 + ng-show='edit' button-new-show="true" button-new-action="novaPessoa();" />
  127 + </div>
  128 + </div>
  129 +
  130 + <div class="row">
  131 + <div class="col-sm-6">
  132 + <div class="panel panel-default">
  133 + <div class="panel-heading clearfix">
  134 + <button class="btn btn-clear" type="button" ng-hide="!edit" ng-click="removerInteressados()" ng-show='edit'>
  135 + <i class="fa fa-times red"></i>
  136 + <translate>LABEL.REMOVER</translate>
  137 + </button>
  138 + </div>
  139 + <table class="table table-striped table-bordered table-hover">
  140 + <thead>
  141 + <tr>
  142 + <th width="5%" class="text-center"></th>
  143 +
  144 + <th class="text-center"><translate>LABEL.NOME</translate></th>
  145 +
  146 + </tr>
  147 + </thead>
  148 +
  149 +
  150 + <tbody>
  151 + <tr ng-repeat="interessado in processo.interessados">
  152 + <td class="text-center"><input type="radio" name="interessadoChecked" id="interessadoChecked" ng-value="interessado" ng-model="$parent.interessadoChecked"
  153 + ng-click="setInteressadoRemocao(interessado, $index)" /></td>
  154 +
  155 + <td class="text-center">{{interessado.interessado.nome}}</td>
  156 +
  157 + </tr>
  158 + <tr ng-hide="processo.interessados.length > 0">
  159 + <td colspan="3" class="text-center"><translate>LABEL.TABELA_VAZIA</translate></td>
  160 + </tr>
  161 + </tbody>
  162 + </table>
  163 + </div>
  164 + </div>
  165 + </div>
  166 + </div>
  167 + </div>
  168 + </fieldset>
  169 +</fieldset>
... ...
cit-ecm-web/src/main/webapp/html/processo/processo.html
1   -<div ng-include src="'/cit-ecm-web/html/processo/processoEdit.html'"></div>
  1 +<div ng-include src="'/cit-ecm-web/html/processo/processoNew.html'"></div>
... ...
cit-ecm-web/src/main/webapp/html/processo/processoEdit.html
1   -<div id="editProcessoEcm" class="page-content clearfix" ng-controller="ProcessoController">
2   - <div id="topoMenu" 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>LABEL.SALVAR</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   - <button class="btn btn-clear" ng-show="!edit" ng-click="edit = true">
17   - <i class="fa fa-pencil blue"></i>
18   - <translate>LABEL.EDITAR</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   -
36   - <breadcrumb ng-workspace="workspace"></breadcrumb>
37   -
38   - <form name="processoForm" autocomplete="off" novalidate>
39   - <p>
40   - <small>( <span class="red">*</span> ) <translate>LABEL.CAMPOS_OBRIGATORIOS</translate></small>
41   - </p>
42   -
43   - <fieldset>
44   -
45   - <legend>
46   - <translate>ECM.LABEL.DADOS_PROCESSO</translate>
47   - </legend>
48   -
49   - <div class="row">
50   - <div class="col-md-6">
51   - <div class="row">
52   - <div class="col-md-4 ">
53   -
54   - <label-input-radio ng-id="processo.tipoProtocolo.codigo" ng-label="ECM.LABEL.TIPOPROTOCOLO" list="dominiosTipoProtocoloNup" ng-disabled='!edit' text="descricao" value="codigo"
55   - ng-model="processo.tipoProtocolo.codigo" form="processoForm" ></label-input-radio>
56   -
57   - </div>
58   - <div class="col-md-8" ng-show='processo.tipoProtocolo.codigo == 2'>
59   - <div class='form-group' ng-class="{'has-error': processoForm['protocolo'].$error.required && (!processoForm['protocolo'].$pristine || processoForm.$submitted)}">
60   - <label class='control-label'> <translate>ECM.LABEL.PROTOCOLO</translate> <span class='red'>*</span>
61   - </label> <i ng-show="processoForm['protocolo'].$error.required && !processoForm['protocolo'].$pristine || processoForm.$submitted" class='fa fa-warning red'
62   - tooltip="{{$translate.instant('ECM.LABEL.PROTOCOLO') + ' ' +$translate.instant('LABEL.CAMPO_OBRIGATORIO')}}" tooltip-placement='top'></i> <input ng-required="processo.tipoProtocolo.codigo == 2"
63   - class="form-control" numbers-only id="protocolo" ng-show='processo.tipoProtocolo.codigo == 2' ng-label="LABEL.PROTOCOLO" ng-disabled='!edit' ng-model="processo.nup" form="processoForm" />
64   - </div>
  1 +<div id="editProcesso" class="page-content clearfix" ng-controller="ProcessoController as processoEditController">
  2 + <form id="processoEditController.processoForm" name="processoEditController.processoForm" autocomplete="off" novalidate>
  3 +
  4 + <div id="editProcesso" ng-if="processo.id">
  5 + <div id="widget-processo" class="widget-box margin-bottom">
  6 + <div class="widget-header">
  7 + <h2 class="widget-title">
  8 + <translate>ECM.LABEL.PROCESSO</translate>
  9 + </h2>
  10 +
  11 + <div class="widget-toolbar">
  12 + <a href="#void" ng-click="closeWidget('widget-processo')"> <i class="fa fa-close"></i>
  13 + </a>
65 14 </div>
66 15 </div>
67   - </div>
68   - </div>
69   -
70   - <div class="row">
71   - <div class="col-md-6">
72   - <auto-complete ng-id="processo.tipoProcesso" ng-set-result="constroiRelacionamentoTipoProcesso(item)" ng-label="ECM.LABEL.TIPOPROCESSO" ng-model="processo.tipoProcesso" form="processoForm"
73   - ng-find="findAutoCompleteTipoProcesso(value)" ng-item="item.nome" ng-obrigatorio='true' ng-disabled='!edit' />
74   - </div>
75   - </div>
76   -
77   - <div class="row" ng-show='processo.tipoProcesso.id'>
78   - <div class="col-md-6">
79   - <auto-complete ng-id="assuntoSelecionado" ng-disabled='sugestoes' ng-label="ECM.LABEL.ASSUNTO" ng-set-result='setTipoAssunto(item)' ng-model="assuntoSelecionado" form="processoForm"
80   - ng-find="findAutoCompleteAssunto(value)" ng-item="item.assunto" ng-obrigatorio='{{!sugestoes}}' />
81   -
82   - </div>
83   - </div>
84   -
85   - <div class="row" ng-show='processo.tipoProcesso.id'>
86   - <div class="col-md-6">
87   - <div class="form-group">
88   - <div class="input-group">
89   - <select class="form-control typeahead-wide" ng-model="sugestoes" ng-change="setAssunto(sugestoes)" multiple id="sugestoes" ng-disabled='assuntoSelecionado.id' ng-multiple="false"
90   - ng-options="sugestao as sugestao.assunto for sugestao in assuntos track by sugestao.id">
91   - </select> <span ng-show="sugestoes" class="input-group-addon" ng-click="sugestoes = null" ng-class="{'hover-directive' : (($hover == true) && !disabled)}" ng-mouseover="$hover = true"
92   - ng-mouseout="$hover = false"> <i class="fa fa-eraser bigger-110"></i>
93   - </span> <span class="input-group-addon" style="visibility: hidden;"> <i class="fa fa-search bigger-110"></i></span>
94   - </div>
95   -
  16 + <div class="widget-body">
  17 + <div class="widget-main clearfix">
  18 + <div ng-include src="'/cit-ecm-web/html/processo/metadadosProcesso.html'" />
96 19 </div>
97   - </div>
98   - </div>
99 20  
100   - <div class="row" ng-show='processo.tipoProcesso.id'>
  21 + <div class="row" ng-if="processo.id">
  22 + <div style="margin-top: -38px; margin-left: 17px;" class="col-md-12">
  23 + <button class="btn btn-sm btn-primary" ng-click="saveOrUpdate()">
  24 + <translate>LABEL.SALVAR</translate>
  25 + </button>
101 26  
102   - <div class="col-md-6">
103   - <label-select ng-id="processo.nivelAcesso" ng-label="ECM.LABEL.NIVEL_ACESSO" ng-model="processo.nivelAcesso" ng-custom-change='setHipoteseLegal(processo.nivelAcesso.id)' form="processoForm"
104   - ng-obrigatorio="true" ng-disabled="!edit" ng-custom-options="nivelAcessoTipoProcesso.originalElement as nivelAcessoTipoProcesso.nivelAcesso.descricao for nivelAcessoTipoProcesso "
105   - track-by="track by nivelAcessoTipoProcesso.id" ng-list="nivelAcessoList" show-selecione='false'/>
106   - </div>
107   -
108   - <div class="col-md-6">
109   - <div class="form-group" ng-show='processo.nivelAcesso.nivelAcesso.codigo == 0'>
110   - <label class="control-label block" ng-class="{'has-error': processoForm['processo.sigilo.id'].$error.required && (!processoForm['processo.sigilo.id'].$pristine || processoForm.$submitted)}">
111   - <translate>ECM.LABEL.SIGILO</translate> <span class="red">*</span> <i
112   - ng-show="processoForm['processo.sigilo.id'].$error.required && (!processoForm['processo.sigilo.id'].$pristine || processoForm.$submitted)" class='fa fa-warning red'
113   - tooltip="{{$translate.instant('ECM.LABEL.SIGILO') + ' ' +$translate.instant('LABEL.CAMPO_OBRIGATORIO')}}" tooltip-placement='top'></i>
114   - </label>
115   -
116   - <div class="radio-inline" ng-repeat="sigiloTipoProcesso in processo.nivelAcesso.sigilos">
117   - <label> <input type="radio" required="processo.nivelAcesso.nivelAcesso.codigo == 1" name="processo.sigilo.id" id="processo.tipoSigilo.id" ng-disabled="!edit"
118   - ng-value="sigiloTipoProcesso.sigilo.id" ng-model="processo.sigilo.id" ng-change='setHipoteseLegal(processo.sigilo.id)' /> {{sigiloTipoProcesso.sigilo.tipoSigilo.descricao}}
119   - </label>
  27 + <button class="btn btn-sm btn-primary" ng-click="closeWidget('widget-processo')">
  28 + <translate>LABEL.CANCELAR</translate>
  29 + </button>
120 30 </div>
121 31 </div>
122 32 </div>
123   -
124   - </div>
125   -
126   - <div class="row">
127   - <div class="col-sm-6" ng-show='processo.nivelAcesso.nivelAcesso.codigo == 1 || processo.sigilo.id'>
128   - <label-select ng-id="processo.hipoteseLegal" ng-model="processo.hipoteseLegal" ng-label="ECM.LABEL.HIPOTESELEGAL" ng-obrigatorio='processo.nivelAcesso.nivelAcesso.codigo == 1 || processo.sigilo.id' form="processoForm" ng-list="hipoteses"
129   - ng-custom-options="hipoteseLegal.originalElement as hipoteseLegal.nome for hipoteseLegal" ng-obrigatorio='true' track-by="track by hipoteseLegal.id" ng-disabled='!edit'> </label-select>
130   - </div>
131   - </div>
132   -
133   -
134   - <div class="row">
135   -
136   - <div class="col-md-6">
137   -
138   - <label-text-area ng-id="processo.assuntoComplementar" ng-label="ECM.LABEL.ASSUNTOCOMPLEMENTAR" ng-model="processo.assuntoComplementar" form="processoForm" />
139   -
140   - </div>
141   -
142   - <div class="col-md-6">
143   -
144   - <label-text-area ng-id="processo.observacaoGeral" ng-label="ECM.LABEL.OBSERVACAOGERAL" ng-model="processo.observacaoGeral" form="processoForm" />
145   -
146   - </div>
147   -
148 33 </div>
149   -
150   - <fieldset>
151   -
152   - <legend>
153   - <translate>ECM.LABEL.INTERESSADOS</translate>
154   - </legend>
155   -
156   - <div class="row">
157   -
158   - <div class="col-md-12">
159   -
160   - <div class="row">
161   - <div class="col-sm-6">
162   - <auto-complete ng-id="interessado" ng-label="ECM.LABEL.INTERESSADO" ng-model="interessado" ng-find="findAutoCompleteInteressados(value)" ng-item="item.nome"
163   - ng-set-result="setInteressados(item)" ng-show='edit' button-new-show="true" button-new-action="novaPessoa();" />
164   - </div>
165   - </div>
166   -
167   - <div class="row">
168   - <div class="col-sm-6">
169   - <div class="panel panel-default">
170   - <div class="panel-heading clearfix">
171   - <button class="btn btn-clear" type="button" ng-hide="!edit" ng-click="removerInteressados()" ng-show='edit'>
172   - <i class="fa fa-times red"></i>
173   - <translate>LABEL.REMOVER</translate>
174   - </button>
175   - </div>
176   - <table class="table table-striped table-bordered table-hover">
177   - <thead>
178   - <tr>
179   - <th width="5%" class="text-center"></th>
180   -
181   - <th class="text-center"><translate>LABEL.NOME</translate></th>
182   -
183   - </tr>
184   - </thead>
185   - <tbody>
186   - <tr ng-repeat="interessadoList in processo.interessados">
187   - <td class="text-center"><input type="radio" name="interessadoChecked" ng-value="interessadoList" ng-model="$parent.interessadoChecked" ng-click="interessadoList.$index = $index" /></td>
188   -
189   - <td class="text-center">{{interessadoList.interessado.nome}}</td>
190   - </tr>
191   - <tr ng-hide="processo.interessados.length > 0">
192   - <td colspan="3" class="text-center"><translate>LABEL.TABELA_VAZIA</translate></td>
193   - </tr>
194   - </tbody>
195   - </table>
196   - </div>
197   - </div>
198   - </div>
199   - </div>
200   - </div>
201   - </fieldset>
202   - </fieldset>
  34 + </div>
203 35 </form>
204 36 </div>
205   -<!-- .page-content -->
206   -
207   -
208   -
209   -
210   -
211   -
212 37  
  38 +<!-- .page-content -->
... ...
cit-ecm-web/src/main/webapp/html/processo/processoNew.html 0 → 100644
... ... @@ -0,0 +1,45 @@
  1 +<div id="newProcesso" class="page-content clearfix" ng-controller="ProcessoController as processoNewController" ng-init="init(inicializarProcesso())">
  2 +
  3 + <div id="newProcesso" ng-if="!processo.id">
  4 + <div class="bar-buttons-action fixed">
  5 + <div class="row">
  6 + <div class="col-sm-8 text-left">
  7 +
  8 + <button class="btn btn-clear" ng-click="saveOrUpdate()" ng-show="edit">
  9 + <i class="fa fa-save green"></i>
  10 + <translate>LABEL.SALVAR</translate>
  11 + </button>
  12 +
  13 + <button class="btn btn-clear" ng-click="resetForm()" ng-show="edit">
  14 + <i class="fa fa-eraser yellow-dark"></i>
  15 + <translate>LABEL.LIMPAR</translate>
  16 + </button>
  17 +
  18 + <button class="btn btn-clear" ng-show="!edit" ng-click="edit = true">
  19 + <i class="fa fa-pencil blue"></i>
  20 + <translate>LABEL.EDITAR</translate>
  21 + </button>
  22 +
  23 + </div>
  24 +
  25 + <div class="col-sm-4 text-right">
  26 +
  27 + <favorito />
  28 +
  29 + <help-button workspace="workspace" />
  30 +
  31 + </div>
  32 +
  33 + </div>
  34 +
  35 + </div>
  36 +
  37 + <breadcrumb ng-workspace="workspace"></breadcrumb>
  38 +
  39 + </div>
  40 +
  41 + <form id="processoNewController.processoForm" name="processoNewController.processoForm" autocomplete="off" novalidate>
  42 + <div ng-include src="'/cit-ecm-web/html/processo/metadadosProcesso.html'" />
  43 + </form>
  44 +
  45 +</div>
... ...