Commit 069bedf9e33ba2473ea70402e449a2dd6780a516

Authored by maycon.silva
1 parent 228297d5
Exists in master

Redmine #4599 Correcao anexo homologacao

Showing 21 changed files with 261 additions and 249 deletions   Show diff stats
cit-ecm-api/src/main/java/br/com/centralit/api/framework/json/ViewsEcm.java
... ... @@ -109,4 +109,6 @@ public class ViewsEcm extends Views {
109 109 public static class TarjaAssinaturaListview extends Views.GenericView{};
110 110  
111 111 public static class TarjaAssinaturaEditview extends ViewsEcm.TarjaAssinaturaListview{};
  112 +
  113 + public static class MetadadoProcessoView extends Views.GenericView{};
112 114 }
... ...
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 })
  75 + @JsonView({ ViewsEcm.TipoProcessoEdit.class, ViewsEcm.NivelAcessoTipoProcessoEdit.class, Views.ProcessoList.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 })
  103 + @JsonView({ ViewsEcm.PlanoCLassificacaoAutoComplete.class, ViewsEcm.TipoDocumentoEdit.class, ViewsEcm.TipoProcessoEdit.class, Views.ProcessoList.class, Views.DocumentoGedEdit.class, ViewsEcm.TipoDocumentoPlanoClassificacaoAutoCompleteView.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
... ... @@ -77,9 +77,9 @@ public class Processo extends PersistentObjectUnidade {
77 77 @GeneratedValue(strategy = GenerationType.AUTO)
78 78 @JsonView({ Views.GenericView.class })
79 79 private Long id;
80   -
  80 +
81 81 /** Atributo assuntoComplementar. */
82   - @JsonView({ Views.ProcessoList.class })
  82 + @JsonView({ Views.ProcessoList.class, ViewsEcm.MetadadoProcessoView.class})
83 83 private String assuntoComplementar;
84 84  
85 85 /** Atributo dataReferencia. */
... ... @@ -95,7 +95,7 @@ public class Processo extends PersistentObjectUnidade {
95 95 private Calendar dataConclusao;
96 96  
97 97 /** Atributo nup. */
98   - @JsonView({ Views.ProcessoList.class, Views.ProcessoRelacionadoList.class, Views.AnexarProcesso.class, Views.ProcessoAutoCompleteView.class })
  98 + @JsonView({ Views.ProcessoList.class, Views.ProcessoRelacionadoList.class, Views.AnexarProcesso.class, Views.ProcessoAutoCompleteView.class, ViewsEcm.MetadadoProcessoView.class })
99 99 private String nup;
100 100  
101 101 /** Atributo nome. */
... ... @@ -104,6 +104,14 @@ public class Processo extends PersistentObjectUnidade {
104 104 /** Atributo idTask. */
105 105 @Transient
106 106 private Long idTask;
  107 +
  108 + @Transient
  109 + @JsonView({ Views.ProcessoAutoCompleteView.class })
  110 + private boolean anexado;
  111 +
  112 + @Transient
  113 + @JsonView({ Views.ProcessoEdit.class })
  114 + private boolean tramitado;
107 115  
108 116 /** Atributo prazoSigilo. */
109 117 @Temporal(TemporalType.TIMESTAMP)
... ... @@ -117,7 +125,7 @@ public class Processo extends PersistentObjectUnidade {
117 125 private Boolean aprovado;
118 126  
119 127 /** Atributo observacaoGeral. */
120   - @JsonView({ Views.ProcessoEdit.class })
  128 + @JsonView({ Views.ProcessoEdit.class, ViewsEcm.MetadadoProcessoView.class })
121 129 private String observacaoGeral;
122 130  
123 131 /** Atributo tipoAssunto. */
... ... @@ -129,12 +137,12 @@ public class Processo extends PersistentObjectUnidade {
129 137 private Long idProcessInstance;
130 138  
131 139 /** Atributo nup. */
132   - @JsonView({ Views.ProcessoEdit.class })
  140 + @JsonView({ Views.ProcessoEdit.class, ViewsEcm.MetadadoProcessoView.class})
133 141 private Dominio tipoProtocolo;
134 142  
135 143 /** Atributo status. */
136 144 @ManyToOne(fetch = FetchType.LAZY)
137   - @JsonView({ Views.ProcessoEdit.class })
  145 + @JsonView({ Views.ProcessoEdit.class, ViewsEcm.MetadadoProcessoView.class })
138 146 private Dominio status;
139 147  
140 148 /** Atributo tramitarDocumento. */
... ... @@ -143,22 +151,22 @@ public class Processo extends PersistentObjectUnidade {
143 151 private TramitarDocumento tramitarDocumento;
144 152  
145 153 /** Atributo tipoProcesso. */
146   - @JsonView({ Views.ProcessoList.class, Views.ProcessoRelacionadoList.class, Views.AnexarProcesso.class })
  154 + @JsonView({ Views.ProcessoList.class, Views.ProcessoRelacionadoList.class, Views.AnexarProcesso.class, ViewsEcm.MetadadoProcessoView.class })
147 155 @ManyToOne(fetch = FetchType.LAZY)
148 156 private TipoProcesso tipoProcesso;
149 157  
150 158 /** Atributo assunto. */
151 159 @ManyToOne(fetch = FetchType.LAZY)
152   - @JsonView({ Views.ProcessoList.class })
  160 + @JsonView({ Views.ProcessoList.class, ViewsEcm.MetadadoProcessoView.class })
153 161 private PlanoClassificacao assunto;
154 162  
155 163 /** Atributo nivelAcesso. */
156 164 @ManyToOne(fetch = FetchType.LAZY)
157   - @JsonView({ Views.ProcessoList.class })
  165 + @JsonView({ Views.ProcessoList.class, ViewsEcm.MetadadoProcessoView.class })
158 166 private NivelAcessoTipoProcesso nivelAcesso;
159 167  
160 168 @ManyToOne(fetch = FetchType.LAZY)
161   - @JsonView({ Views.ProcessoList.class })
  169 + @JsonView({ Views.ProcessoList.class, ViewsEcm.MetadadoProcessoView.class })
162 170 private NivelAcessoTipoProcesso nivelAcessoOriginal;
163 171  
164 172 /** Atributo anexoProcesso. */
... ... @@ -168,7 +176,7 @@ public class Processo extends PersistentObjectUnidade {
168 176  
169 177 /** Atributo hipoteseLegal. */
170 178 @ManyToOne(fetch = FetchType.LAZY)
171   - @JsonView({ Views.ProcessoEdit.class })
  179 + @JsonView({ Views.ProcessoEdit.class, ViewsEcm.MetadadoProcessoView.class })
172 180 private HipoteseLegal hipoteseLegal;
173 181  
174 182 /** Atributo cienciaProcesso. */
... ... @@ -178,11 +186,11 @@ public class Processo extends PersistentObjectUnidade {
178 186  
179 187 /** Atributo sigilo. */
180 188 @ManyToOne(fetch = FetchType.LAZY)
181   - @JsonView({ Views.ProcessoList.class })
  189 + @JsonView({ Views.ProcessoList.class, ViewsEcm.MetadadoProcessoView.class })
182 190 private Sigilo sigilo;
183 191  
184 192 @ManyToOne(fetch = FetchType.LAZY)
185   - @JsonView({ Views.ProcessoList.class })
  193 + @JsonView({ Views.ProcessoList.class, ViewsEcm.MetadadoProcessoView.class })
186 194 private Sigilo sigiloOriginal;
187 195  
188 196 /** Atributo temporalidade. */
... ... @@ -193,7 +201,7 @@ public class Processo extends PersistentObjectUnidade {
193 201  
194 202 /** Atributo Interessados. */
195 203 @OneToMany(fetch = FetchType.LAZY, mappedBy = "processo", cascade = CascadeType.ALL, orphanRemoval = true)
196   - @JsonView({ Views.ProcessoEdit.class })
  204 + @JsonView({ Views.ProcessoEdit.class, ViewsEcm.MetadadoProcessoView.class })
197 205 private Collection<InteressadoProcesso> interessados;
198 206  
199 207 /** Atributo documentos. */
... ... @@ -848,25 +856,25 @@ public class Processo extends PersistentObjectUnidade {
848 856 this.unidadesProcesso = unidadesProcesso;
849 857 }
850 858  
  859 +
851 860 /**
852   - * <p>
853   - * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>
854   - * </p>
855   - *
856   - * <p>
857   - * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
858   - * </p>
859   - *
860   - * Verifica se o processo foi tramitado. Levando em consideração a unidadeProcesso criada apartir da criação do processo.
861   - *
862   - * @author maycon.silva
863   - *
864   - * @return boolean
  861 + * Retorna o valor do atributo <code>tramitado</code>
  862 + *
  863 + * @return <code>boolean</code>
865 864 */
866   - /* @JsonView({ Views.ProcessoEdit.class }) */
867 865 public boolean isTramitado() {
  866 +
  867 + return !UtilColecao.isVazio(this.getUnidadesProcesso()) && this.getUnidadesProcesso().size() > 1;
  868 + }
868 869  
869   - return !UtilColecao.isVazio(this.getUnidadesProcesso()) && this.getUnidadesProcesso().size() > 1;
  870 + /**
  871 + * Retorna o valor do atributo <code>anexado</code>
  872 + *
  873 + * @return <code>boolean</code>
  874 + */
  875 + public boolean isAnexado() {
  876 +
  877 + return !UtilColecao.isVazio(this.getAnexados()) && this.getAnexados().size() >= 1;
870 878 }
871 879  
872 880 }
... ...
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/impl/AnexarProcessoServiceImpl.java
... ... @@ -14,11 +14,9 @@ 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;
24 22 import br.com.centralit.framework.service.arquitetura.GedFileService;
... ... @@ -83,6 +81,9 @@ public class AnexarProcessoServiceImpl extends GenericServiceImpl&lt;AnexoProcesso,
83 81  
84 82 @Autowired
85 83 private DocumentoGedService documentoGedService;
  84 +
  85 + @Autowired
  86 + private DominioService dominioService;
86 87  
87 88 /**
88 89 * Responsável pela criação de novas instâncias desta classe.
... ... @@ -214,6 +215,8 @@ public class AnexarProcessoServiceImpl extends GenericServiceImpl&lt;AnexoProcesso,
214 215 processoAnexo.setProcesso(processoPai);
215 216  
216 217 processoAnexo.setAnexado(Boolean.TRUE);
  218 +
  219 + processoFilho.setStatus(this.dominioService.findByChaveAndCodigo("statusProcesso", 3L));
217 220  
218 221 processoAnexo = this.save(processoAnexo);
219 222  
... ... @@ -348,9 +351,6 @@ public class AnexarProcessoServiceImpl extends GenericServiceImpl&lt;AnexoProcesso,
348 351  
349 352 for (AnexoProcesso processoAnexado : anexarProcessoVH.getListaProcessoAnexado()) {
350 353  
351   - /*AnexoProcesso anexoProcesso = this.anexarProcessoDao.verificarUnicidadeAnexoProcesso(processoAnexado.getProcessoAnexado().getId());*/
352   -
353   -
354 354 if (this.anexarProcessoDao.isExisteAnexoProcesso(processoAnexado.getProcessoAnexado().getId())) {
355 355 mensagem.append(processoAnexado.getProcessoAnexado().getNup()).append(",");
356 356 }
... ...
cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/InicializarEcmServiceImpl.java
... ... @@ -216,6 +216,9 @@ public class InicializarEcmServiceImpl extends UtilStartup {
216 216 filesProcesso.add(new MenuFile("/cit-ecm-web/assets/js/angular/custom/repository/HistoricoAtribuicaoProcessoRepository.js", this.dominioJS, menuCadastroProcesso));
217 217 filesProcesso.add(new MenuFile("/cit-ecm-web/assets/js/angular/custom/repository/HistoricoAtribuicaoProcessoRepository.min.js", this.dominioJS, menuCadastroProcesso));
218 218  
  219 + filesProcesso.add(new MenuFile("/cit-ecm-web/assets/js/angular/custom/repository/MetadadoProcessoViewController.js", this.dominioJS, menuCadastroProcesso));
  220 + filesProcesso.add(new MenuFile("/cit-ecm-web/assets/js/angular/custom/repository/MetadadoProcessoViewController.min.js", this.dominioJS, menuCadastroProcesso));
  221 +
219 222 menuCadastroProcesso.setIncludes(filesProcesso);
220 223 this.menuService.mergeIfNotExist(menuCadastroProcesso);
221 224  
... ...
cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/ProcessoServiceImpl.java
... ... @@ -157,6 +157,7 @@ public class ProcessoServiceImpl extends GenericServiceImpl&lt;Processo, Long&gt; impl
157 157 this.montarEntidade(entity);
158 158 entity.setSigiloOriginal(entity.getSigilo());
159 159 entity.setNivelAcessoOriginal(entity.getNivelAcesso());
  160 + entity.setStatus(this.dominioService.findByChaveAndCodigo("statusProcesso", 2L));
160 161  
161 162 Processo processo = super.save(entity);
162 163  
... ...
cit-ecm-web/src/main/java/br/com/centralit/controller/ProcessoController.java
... ... @@ -9,6 +9,7 @@ import org.springframework.web.bind.annotation.RequestMethod;
9 9 import org.springframework.web.bind.annotation.RequestParam;
10 10 import org.springframework.web.bind.annotation.ResponseBody;
11 11  
  12 +import br.com.centralit.api.framework.json.ViewsEcm;
12 13 import br.com.centralit.api.model.Processo;
13 14 import br.com.centralit.api.service.ProcessoService;
14 15 import br.com.centralit.api.service.UsuarioService;
... ... @@ -98,6 +99,28 @@ public class ProcessoController extends GenericController&lt;Processo&gt; {
98 99  
99 100 return responseBody;
100 101 }
  102 +
  103 +
  104 + /**
  105 + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p>
  106 + *
  107 + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>
  108 + *
  109 + * Método responsável por retornar apenas os atributos do metadado do processo.
  110 + *
  111 + * @author maycon.silva
  112 + *
  113 + * @param idProcesso
  114 + * @return
  115 + */
  116 + @RequestMapping(method = RequestMethod.GET, value = "/getMetadadoProcesso")
  117 + @ResponseBody
  118 + public ResponseBodyWrapper getMetadadoProcesso(@RequestParam(value = "idProcesso") Long idProcesso) {
  119 +
  120 + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(this.processoService.getReference(idProcesso), this.getMetadadoProcessoView());
  121 +
  122 + return responseBody;
  123 + }
101 124  
102 125 /**
103 126 * <p>
... ... @@ -197,8 +220,12 @@ public class ProcessoController extends GenericController&lt;Processo&gt; {
197 220 @Override
198 221 public Class<Views.ProcessoAutoCompleteView> getAutoCompleteView() {
199 222  
200   - // TODO Auto-generated method stub
201 223 return Views.ProcessoAutoCompleteView.class;
202 224 }
  225 +
  226 + public Class<ViewsEcm.MetadadoProcessoView> getMetadadoProcessoView() {
  227 +
  228 + return ViewsEcm.MetadadoProcessoView.class;
  229 + }
203 230  
204 231 }
... ...
cit-ecm-web/src/main/java/br/com/centralit/listener/StartupListenerEcm.java
... ... @@ -203,6 +203,7 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen
203 203  
204 204 list.add(new Dominio("statusProcesso", "Concluído", "CONCLUIDO", 1L));
205 205 list.add(new Dominio("statusProcesso", "Em andamento", "EM_ANDAMENTO", 2L));
  206 + list.add(new Dominio("statusProcesso", "Anexado", "ANEXADO", 3L));
206 207  
207 208 list.add(new Dominio("tipoAssinatura", "Assinatura interna", "ASSINATURA_INTERNA", 1L));
208 209 list.add(new Dominio("tipoAssinatura", "Assinatura por certificado digital", "ASSINATURA_CERTIFICADO_DIGITAL", 2L));
... ... @@ -412,6 +413,9 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen
412 413 internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.CONTEUDO_HTML", "Conteúdo HTML", dominio, modulo));
413 414 internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.REMOVER_IMAGEM", "Remover imagem", dominio, modulo));
414 415 internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.CAMPOS_DINAMICOS", "Campos Dinâmicos", dominio, modulo));
  416 + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.DADOS_PROCESSO_ANEXADO", "Dados do Processo Anexado", dominio, modulo));
  417 +
  418 +
415 419 }
416 420  
417 421 /**
... ...
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 }
... ...
cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/GerenciarProcessoController.js
... ... @@ -26,10 +26,10 @@ citApp.controller(&#39;GerenciarProcessoController&#39;, [ &#39;$scope&#39;, &#39;$translate&#39;, &#39;$tim
26 26 $scope.isHistoricoJustificativa = false;
27 27 $scope.isAnexarProcesso = false;
28 28 $scope.widgetExemploIsCollapsed = true;
29   - $scope.tratimitado();
30 29 $scope.isGerenciarCredencialProcesso = false;
31 30 $scope.isClassificarProcessoDocumento = false;
32 31 $scope.isAtribuirProcesso = false;
  32 + $scope.isVisualizarMetadadoProcesso = false;
33 33 };
34 34  
35 35 // CRIAR RELACIONAMENTO DE PROCESSO
... ... @@ -460,14 +460,6 @@ citApp.controller(&#39;GerenciarProcessoController&#39;, [ &#39;$scope&#39;, &#39;$translate&#39;, &#39;$tim
460 460 // WIDGET PRADAO
461 461 $scope.isHistoricoProcesso = true;
462 462 };
463   -
464   - $scope.tratimitado = function () {
465   - UnidadeProcessoRepository.existeVinculo( { 'joinClass' : 'processo.id', 'id' : $scope.processo.id } ).then( function ( result ) {
466   - if ( result ) {
467   - $scope.isTramitado = true;
468   - }
469   - } );
470   - };
471 463  
472 464 // ------------------------------EXECUTA BPE------------------------------------
473 465  
... ... @@ -690,6 +682,14 @@ citApp.controller(&#39;GerenciarProcessoController&#39;, [ &#39;$scope&#39;, &#39;$translate&#39;, &#39;$tim
690 682 }
691 683  
692 684 });
693   - }
694   -
  685 + };
  686 +
  687 + $scope.visualizarMetadadosProcessoDocumento = function (processoDocumento){
  688 + $scope.fecharPagina();
  689 + $scope.isVisualizarMetadadoProcesso = true;
  690 + $timeout( function () {
  691 + angular.element( "#metadadoProcessoView" ).scope().getProcessoView(processoDocumento);
  692 + } );
  693 + };
  694 +
695 695 }] );
... ...
cit-ecm-web/src/main/webapp/assets/js/angular/custom/repository/ProcessoRepository.js
... ... @@ -37,6 +37,11 @@ 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 +
40 45 }
41 46  
42 47 AbstractRepository.extend(ProcessoRepository);
... ...
cit-ecm-web/src/main/webapp/html/anexarProcesso/anexarProcesso.html
... ... @@ -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
... ... @@ -23,6 +23,8 @@
23 23  
24 24 <div ng-include src="'/cit-ecm-web/html/atribuirProcesso/atribuir.html'" ng-show="isAtribuirProcesso" />
25 25  
  26 +<div ng-include src="'/cit-ecm-web/html/processo/metadadoProcessoView.html'" ng-show="isVisualizarMetadadoProcesso" />
  27 +
26 28  
27 29  
28 30 <div id="widget-processo" ng-show="isProcessoEdit" class="widget-box margin-bottom">
... ...
cit-ecm-web/src/main/webapp/html/gerenciarProcesso/includeDocumentosProcesso.html
1 1 <div class="itemdiv commentdiv" ng-repeat="documento in processo.documentos | orderBy:'-dataCriacao'">
2   -
3   - <div class="user">
4   - <i class="{{documento.icon}}" title="{{documento.anexo.dominioTipoAnexo.descricao}}"></i>
5   - </div>
6 2  
7 3 <div class="body">
8   - <div class="text ellipsis" tooltip="{{documento.tipoDocumento.nome}} - {{documento.numero}}">
9   - <a ng-show='!documento.cancelado' href="#void" ng-click="editDocument(documento, false)">{{documento.tipoDocumento.nome}} - {{documento.numero}}</a> <a ng-show='documento.cancelado' href="#void"
10   - ng-click="getCancelamentoDocumento(documento);"> {{documento.tipoDocumento.nome}} - {{documento.numero}}</a>
11   - </div>
12   -
13   - <div class="time hidden-md">
14   - <i class="ace-icon fa fa-clock-o"></i> <span class="blue">{{documento.dataCriacao | date: 'dd/MM/yyyy HH:mm:ss'}} </span>
15   - </div>
16   -
17   - <div class="text ellipsis" tooltip="{{documento.assuntoComplementar}}">{{documento.assuntoComplementar}}</div>
18   -
19   - <div class="itemdiv-informacoes">
20   - <span class="label label-gray" ng-show="documento.sigilo.tipoSigilo.codigo == 0 ">{{documento.sigilo.tipoSigilo.descricao}}</span> <span class="label label-danger"
21   - ng-show="documento.sigilo.tipoSigilo.codigo == 1 ">{{documento.sigilo.tipoSigilo.descricao}}</span> <span class="label label-black" ng-show="documento.sigilo.tipoSigilo.codigo == 2 ">{{documento.sigilo.tipoSigilo.descricao}}</span>
22   - <span class="label label-warning" ng-show="documento.nivelAcesso.nivelAcesso.codigo == 1">{{documento.nivelAcesso.nivelAcesso.descricao}}</span> <span class="label label-success"
23   - ng-show="documento.nivelAcesso.nivelAcesso.codigo == 2">{{documento.nivelAcesso.nivelAcesso.descricao}}</span> <span class="label label-info" ng-show="documento.origem">Anexado</span> <span
24   - class="label label-info" ng-show="false">Assinado</span> <span class="label label-success" ng-show="false">Habilitado</span> <span class="label label-warning" ng-show="false">Ci&#xEA;ncia</span> <span
25   - class="label label-danger" ng-show="documento.cancelado">Cancelado</span>
26   - </div>
  4 + <div class="text ellipsis" tooltip="{{documento.tipoDocumento.nome}} - {{documento.numero}}">
  5 + <a ng-show='!documento.cancelado' href="#void" ng-click="editDocument(documento, false)">{{documento.tipoDocumento.nome}} - {{documento.numero}}</a> <a ng-show='documento.cancelado' href="#void"
  6 + ng-click="getCancelamentoDocumento(documento);"> {{documento.tipoDocumento.nome}} - {{documento.numero}}</a>
  7 + </div>
  8 +
  9 + <div class="time hidden-md">
  10 + <i class="ace-icon fa fa-clock-o"></i> <span class="blue">{{documento.dataCriacao | date: 'dd/MM/yyyy HH:mm:ss'}} </span>
  11 + </div>
  12 +
  13 + <div class="text ellipsis" tooltip="{{documento.assuntoComplementar}}">{{documento.assuntoComplementar}}</div>
  14 +
  15 + <div ><a href="#void" ng-click = 'visualizarMetadadosProcessoDocumento(documento.origem)'>{{documento.origem.nup}}</a></div>
  16 +
  17 + <div class="itemdiv-informacoes">
  18 + <span class="label label-gray" ng-show="documento.sigilo.tipoSigilo.codigo == 0 ">{{documento.sigilo.tipoSigilo.descricao}}</span> <span class="label label-danger"
  19 + ng-show="documento.sigilo.tipoSigilo.codigo == 1 ">{{documento.sigilo.tipoSigilo.descricao}}</span> <span class="label label-black" ng-show="documento.sigilo.tipoSigilo.codigo == 2 ">{{documento.sigilo.tipoSigilo.descricao}}</span>
  20 + <span class="label label-warning" ng-show="documento.nivelAcesso.nivelAcesso.codigo == 1">{{documento.nivelAcesso.nivelAcesso.descricao}}</span> <span class="label label-success"
  21 + ng-show="documento.nivelAcesso.nivelAcesso.codigo == 2">{{documento.nivelAcesso.nivelAcesso.descricao}}</span> <span class="label label-info" ng-show="documento.origem">Anexado</span> <span
  22 + class="label label-info" ng-show="false">Assinado</span> <span class="label label-success" ng-show="false">Habilitado</span> <span class="label label-warning" ng-show="false">Ci&#xEA;ncia</span> <span
  23 + class="label label-danger" ng-show="documento.cancelado">Cancelado</span>
  24 + </div>
  25 +
27 26 </div>
28 27  
29 28  
... ... @@ -35,8 +34,8 @@
35 34  
36 35 <ul class="dropdown-menu-center dropdown-menu dropdown-caret" role="menu">
37 36 <li ng-if='!documento.cancelado'><a href="#void" ng-click="editDocument(documento, true);"><translate>LABEL.EDITAR</translate></a></li>
38   - <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>
39   - <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>
  37 + <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>
  38 + <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>
40 39 <li ng-if='!documento.cancelado'><a href="#void" ng-click="visualizarVersoes(documento);"> <translate>ECM.LABEL.VERSOESDODOCUMENTO</translate></a></li>
41 40 <li ><a ng-if='documento.cancelado'href="#void" ng-click="getCancelamentoDocumento(documento);"> <translate>ECM.LABEL.JUSTIFICATIVA_CANCELAMENTO</translate></a></li>
42 41 </ul>
... ...
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>
... ...