Commit be5ee056e8ac0f52e959940b61ca70f10c5fd9ca

Authored by maycon.silva
1 parent 069bedf9
Exists in master

Redmine #Correcao Homologacao 4599

cit-ecm-api/src/main/java/br/com/centralit/api/dao/UnidadeProcessoDao.java
@@ -95,6 +95,21 @@ public interface UnidadeProcessoDao extends CitGenericDAO { @@ -95,6 +95,21 @@ public interface UnidadeProcessoDao extends CitGenericDAO {
95 * @return 95 * @return
96 */ 96 */
97 Collection<UnidadeProcesso> findProcesso(Processo processo); 97 Collection<UnidadeProcesso> findProcesso(Processo processo);
  98 +
  99 + /**
  100 + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p>
  101 + *
  102 + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>
  103 + *
  104 + * Método responsável por
  105 + *
  106 + * @author maycon.silva
  107 + *
  108 + * @param processo
  109 + * @return
  110 + */
  111 + public Collection<UnidadeProcesso> findByPorIdProcessoEmExecucao(Long idProcesso);
  112 +
98 113
99 /** 114 /**
100 * <p> 115 * <p>
@@ -114,5 +129,21 @@ public interface UnidadeProcessoDao extends CitGenericDAO { @@ -114,5 +129,21 @@ public interface UnidadeProcessoDao extends CitGenericDAO {
114 * @return UnidadeProcesso 129 * @return UnidadeProcesso
115 */ 130 */
116 UnidadeProcesso obterPorUnidadeEProcesso(Long idProcesso, Long idUnidade); 131 UnidadeProcesso obterPorUnidadeEProcesso(Long idProcesso, Long idUnidade);
  132 +
  133 +
  134 + /**
  135 + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p>
  136 + *
  137 + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>
  138 + *
  139 + * Método responsável por
  140 + *
  141 + * @author maycon.silva
  142 + *
  143 + * @param idProcesso
  144 + * @param idUnidade
  145 + * @return
  146 + */
  147 + UnidadeProcesso obterPorUnidadeEProcessoEmExecucao(Long idProcesso, Long idUnidade);
117 148
118 } 149 }
cit-ecm-api/src/main/java/br/com/centralit/api/dao/impl/UnidadeProcessoDaoHibernate.java
@@ -11,6 +11,8 @@ import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl; @@ -11,6 +11,8 @@ import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl;
11 import br.com.centralit.framework.dao.arquitetura.SearchSeven; 11 import br.com.centralit.framework.dao.arquitetura.SearchSeven;
12 import br.com.centralit.framework.util.UtilColecao; 12 import br.com.centralit.framework.util.UtilColecao;
13 13
  14 +import com.googlecode.genericdao.search.Filter;
  15 +
14 /** 16 /**
15 * <p> 17 * <p>
16 * <img src="http://centralit.com.br/images/logo_central.png"> 18 * <img src="http://centralit.com.br/images/logo_central.png">
@@ -75,10 +77,25 @@ public class UnidadeProcessoDaoHibernate extends CitGenericDAOImpl implements Un @@ -75,10 +77,25 @@ public class UnidadeProcessoDaoHibernate extends CitGenericDAOImpl implements Un
75 SearchSeven searchSeven = new SearchSeven(); 77 SearchSeven searchSeven = new SearchSeven();
76 78
77 searchSeven.addFilterEqual("processo.id", idProcesso); 79 searchSeven.addFilterEqual("processo.id", idProcesso);
  80 +
  81 + searchSeven.addFilterOr(Filter.equal("concluido", false), Filter.isNull("concluido"));
78 82
79 return this.search(searchSeven); 83 return this.search(searchSeven);
80 84
81 } 85 }
  86 +
  87 + public Collection<UnidadeProcesso> findByPorIdProcessoEmExecucao(Long idProcesso) {
  88 +
  89 + SearchSeven searchSeven = new SearchSeven();
  90 +
  91 + searchSeven.addFilterEqual("processo.id", idProcesso);
  92 +
  93 + searchSeven.addFilterOr(Filter.equal("concluido", false), Filter.isNull("concluido"));
  94 +
  95 + return this.search(searchSeven);
  96 +
  97 + }
  98 +
82 99
83 /** 100 /**
84 * 101 *
@@ -166,5 +183,19 @@ public class UnidadeProcessoDaoHibernate extends CitGenericDAOImpl implements Un @@ -166,5 +183,19 @@ public class UnidadeProcessoDaoHibernate extends CitGenericDAOImpl implements Un
166 return this.searchUnique(searchSeven); 183 return this.searchUnique(searchSeven);
167 184
168 } 185 }
  186 +
  187 + public UnidadeProcesso obterPorUnidadeEProcessoEmExecucao(Long idProcesso, Long idUnidade) {
  188 +
  189 + SearchSeven searchSeven = new SearchSeven();
169 190
  191 + searchSeven.addFilterEqual("processo.id", idProcesso);
  192 +
  193 + searchSeven.addFilterEqual("unidade.id", idUnidade);
  194 +
  195 + searchSeven.addFilterOr( Filter.isNull("concluido"));
  196 +
  197 + searchSeven.setMaxResults(1);
  198 +
  199 + return this.searchUnique(searchSeven);
  200 + }
170 } 201 }
cit-ecm-api/src/main/java/br/com/centralit/api/model/Processo.java
@@ -106,10 +106,6 @@ public class Processo extends PersistentObjectUnidade { @@ -106,10 +106,6 @@ public class Processo extends PersistentObjectUnidade {
106 private Long idTask; 106 private Long idTask;
107 107
108 @Transient 108 @Transient
109 - @JsonView({ Views.ProcessoAutoCompleteView.class })  
110 - private boolean anexado;  
111 -  
112 - @Transient  
113 @JsonView({ Views.ProcessoEdit.class }) 109 @JsonView({ Views.ProcessoEdit.class })
114 private boolean tramitado; 110 private boolean tramitado;
115 111
@@ -142,7 +138,7 @@ public class Processo extends PersistentObjectUnidade { @@ -142,7 +138,7 @@ public class Processo extends PersistentObjectUnidade {
142 138
143 /** Atributo status. */ 139 /** Atributo status. */
144 @ManyToOne(fetch = FetchType.LAZY) 140 @ManyToOne(fetch = FetchType.LAZY)
145 - @JsonView({ Views.ProcessoEdit.class, ViewsEcm.MetadadoProcessoView.class }) 141 + @JsonView({ Views.ProcessoEdit.class, Views.ProcessoAutoCompleteView.class, ViewsEcm.MetadadoProcessoView.class})
146 private Dominio status; 142 private Dominio status;
147 143
148 /** Atributo tramitarDocumento. */ 144 /** Atributo tramitarDocumento. */
@@ -151,7 +147,7 @@ public class Processo extends PersistentObjectUnidade { @@ -151,7 +147,7 @@ public class Processo extends PersistentObjectUnidade {
151 private TramitarDocumento tramitarDocumento; 147 private TramitarDocumento tramitarDocumento;
152 148
153 /** Atributo tipoProcesso. */ 149 /** Atributo tipoProcesso. */
154 - @JsonView({ Views.ProcessoList.class, Views.ProcessoRelacionadoList.class, Views.AnexarProcesso.class, ViewsEcm.MetadadoProcessoView.class }) 150 + @JsonView({ Views.ProcessoList.class, Views.ProcessoRelacionadoList.class, Views.AnexarProcesso.class, ViewsEcm.MetadadoProcessoView.class, Views.ProcessoAutoCompleteView.class})
155 @ManyToOne(fetch = FetchType.LAZY) 151 @ManyToOne(fetch = FetchType.LAZY)
156 private TipoProcesso tipoProcesso; 152 private TipoProcesso tipoProcesso;
157 153
@@ -867,14 +863,4 @@ public class Processo extends PersistentObjectUnidade { @@ -867,14 +863,4 @@ public class Processo extends PersistentObjectUnidade {
867 return !UtilColecao.isVazio(this.getUnidadesProcesso()) && this.getUnidadesProcesso().size() > 1; 863 return !UtilColecao.isVazio(this.getUnidadesProcesso()) && this.getUnidadesProcesso().size() > 1;
868 } 864 }
869 865
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;  
878 - }  
879 -  
880 } 866 }
cit-ecm-api/src/main/java/br/com/centralit/api/service/UnidadeProcessoService.java
@@ -75,6 +75,20 @@ public interface UnidadeProcessoService extends GenericService&lt;UnidadeProcesso, @@ -75,6 +75,20 @@ public interface UnidadeProcessoService extends GenericService&lt;UnidadeProcesso,
75 * @return 75 * @return
76 */ 76 */
77 Collection<UnidadeProcesso> findByIdProcesso(Long idProcesso); 77 Collection<UnidadeProcesso> findByIdProcesso(Long idProcesso);
  78 +
  79 + /**
  80 + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p>
  81 + *
  82 + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>
  83 + *
  84 + * Método responsável por
  85 + *
  86 + * @author maycon.silva
  87 + *
  88 + * @param idProcesso
  89 + * @return
  90 + */
  91 + Collection<UnidadeProcesso> findByPorIdProcessoEmExecucao(Long idProcesso);
78 92
79 /** 93 /**
80 * <p> 94 * <p>
@@ -168,5 +182,20 @@ public interface UnidadeProcessoService extends GenericService&lt;UnidadeProcesso, @@ -168,5 +182,20 @@ public interface UnidadeProcessoService extends GenericService&lt;UnidadeProcesso,
168 * @param processo 182 * @param processo
169 */ 183 */
170 void saveUnidadeProcesso(Processo processo); 184 void saveUnidadeProcesso(Processo processo);
  185 +
  186 + /**
  187 + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p>
  188 + *
  189 + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>
  190 + *
  191 + * Método responsável por
  192 + *
  193 + * @author maycon.silva
  194 + *
  195 + * @param idProcesso
  196 + * @param idUnidade
  197 + * @return
  198 + */
  199 + UnidadeProcesso obterPorUnidadeEProcessoEmExecucao(Long idProcesso, Long idUnidade);
171 200
172 } 201 }
cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/DocumentoGedServiceImpl.java
@@ -638,6 +638,7 @@ public class DocumentoGedServiceImpl extends GenericServiceImpl&lt;DocumentoGed, Lo @@ -638,6 +638,7 @@ public class DocumentoGedServiceImpl extends GenericServiceImpl&lt;DocumentoGed, Lo
638 entity.setVersaoAnterior(versaoAnterior); 638 entity.setVersaoAnterior(versaoAnterior);
639 entity.setEditor(this.getUsuario()); 639 entity.setEditor(this.getUsuario());
640 entity.setAutor(this.getUsuario()); 640 entity.setAutor(this.getUsuario());
  641 + entity.setOrigem(versaoAnterior.getOrigem());
641 642
642 if (entity != null && entity.getNovaVersao()) { 643 if (entity != null && entity.getNovaVersao()) {
643 entity.setVersaoDocumento(Math.floor(entity.getVersaoDocumento()) + 1); 644 entity.setVersaoDocumento(Math.floor(entity.getVersaoDocumento()) + 1);
cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/ProcessoServiceImpl.java
@@ -620,7 +620,7 @@ public class ProcessoServiceImpl extends GenericServiceImpl&lt;Processo, Long&gt; impl @@ -620,7 +620,7 @@ public class ProcessoServiceImpl extends GenericServiceImpl&lt;Processo, Long&gt; impl
620 // Verifica se o usuario logado está lotado na unidade. 620 // Verifica se o usuario logado está lotado na unidade.
621 if (UtilObjeto.isReferencia(this.getUsuario().getUnidade())) { 621 if (UtilObjeto.isReferencia(this.getUsuario().getUnidade())) {
622 622
623 - UnidadeProcesso unidadeProcesso = this.unidadeProcessoService.obterPorUnidadeEProcesso(processo.getId(), this.getUsuario().getUnidade().getId()); 623 + UnidadeProcesso unidadeProcesso = this.unidadeProcessoService.obterPorUnidadeEProcessoEmExecucao(processo.getId(), this.getUsuario().getUnidade().getId());
624 // Verifica se o processo foi enviado para essa unidade e se é o primeiro acesso 624 // Verifica se o processo foi enviado para essa unidade e se é o primeiro acesso
625 if (UtilObjeto.isReferencia(unidadeProcesso) && unidadeProcesso.getPrimeiroAcesso()) { 625 if (UtilObjeto.isReferencia(unidadeProcesso) && unidadeProcesso.getPrimeiroAcesso()) {
626 626
cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/UnidadeProcessoServiceImpl.java
@@ -266,6 +266,17 @@ public class UnidadeProcessoServiceImpl extends GenericServiceImpl&lt;UnidadeProces @@ -266,6 +266,17 @@ public class UnidadeProcessoServiceImpl extends GenericServiceImpl&lt;UnidadeProces
266 266
267 return this.unidadeProcessoDao.findByIdProcesso(idProcesso); 267 return this.unidadeProcessoDao.findByIdProcesso(idProcesso);
268 } 268 }
  269 +
  270 + /**
  271 + *
  272 + */
  273 + @Override
  274 + public Collection<UnidadeProcesso> findByPorIdProcessoEmExecucao(Long idProcesso) {
  275 +
  276 + return this.unidadeProcessoDao.findByPorIdProcessoEmExecucao(idProcesso);
  277 + }
  278 +
  279 +
269 280
270 /** 281 /**
271 * <p> 282 * <p>
@@ -319,5 +330,14 @@ public class UnidadeProcessoServiceImpl extends GenericServiceImpl&lt;UnidadeProces @@ -319,5 +330,14 @@ public class UnidadeProcessoServiceImpl extends GenericServiceImpl&lt;UnidadeProces
319 330
320 return this.unidadeProcessoDao.obterPorUnidadeEProcesso(idProcesso, idUnidade); 331 return this.unidadeProcessoDao.obterPorUnidadeEProcesso(idProcesso, idUnidade);
321 } 332 }
  333 +
  334 + /**
  335 + *
  336 + */
  337 + public UnidadeProcesso obterPorUnidadeEProcessoEmExecucao(Long idProcesso, Long idUnidade){
  338 +
  339 + return this.unidadeProcessoDao.obterPorUnidadeEProcessoEmExecucao(idProcesso, idUnidade);
  340 +
  341 + }
322 342
323 } 343 }
cit-ecm-web/src/main/java/br/com/centralit/controller/UnidadeProcessoController.java
@@ -89,6 +89,29 @@ public class UnidadeProcessoController extends GenericController&lt;UnidadeProcesso @@ -89,6 +89,29 @@ public class UnidadeProcessoController extends GenericController&lt;UnidadeProcesso
89 89
90 return responseBody; 90 return responseBody;
91 } 91 }
  92 +
  93 + /**
  94 + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p>
  95 + *
  96 + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>
  97 + *
  98 + * Método responsável por
  99 + *
  100 + * @author maycon.silva
  101 + *
  102 + * @param idProcesso
  103 + * @return
  104 + */
  105 + @RequestMapping(value = "/findByPorIdProcessoEmExecucao", method = RequestMethod.GET, produces = "application/json")
  106 + @ResponseBody
  107 + public ResponseBodyWrapper findByPorIdProcessoEmExecucao(@RequestParam(value = "idProcesso") Long idProcesso) {
  108 +
  109 + final Collection<UnidadeProcesso> list = this.unidadeProcessoService.findByPorIdProcessoEmExecucao(idProcesso);
  110 +
  111 + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(list, Views.EnviarProcessoView.class);
  112 +
  113 + return responseBody;
  114 + }
92 115
93 /** 116 /**
94 * <p> 117 * <p>
cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/AnexarProcessoController.js
@@ -59,8 +59,7 @@ citApp.controller(&#39;AnexarProcessoController&#39;, [&#39;$scope&#39;, &#39;UnidadeProcessoReposit @@ -59,8 +59,7 @@ citApp.controller(&#39;AnexarProcessoController&#39;, [&#39;$scope&#39;, &#39;UnidadeProcessoReposit
59 59
60 //Buscar processo através do nup 60 //Buscar processo através do nup
61 $scope.findAutoCompleteProcesso = function(value){ 61 $scope.findAutoCompleteProcesso = function(value){
62 - return ProcessoRepository.findAutoComplete('nup', value).then(function(result) {  
63 - 62 + return ProcessoRepository.findAutoComplete('nup', value).then(function(result) {
64 return $filter('idNotEqualProcessoAnexadoAndProcessoPai')(result, $scope.anexarProcessoVH.listaProcessoAnexado, $scope.$parent.$parent.processo); 63 return $filter('idNotEqualProcessoAnexadoAndProcessoPai')(result, $scope.anexarProcessoVH.listaProcessoAnexado, $scope.$parent.$parent.processo);
65 }); 64 });
66 }; 65 };
cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/GerenciarProcessoController.js
@@ -82,19 +82,21 @@ citApp.controller(&#39;GerenciarProcessoController&#39;, [ &#39;$scope&#39;, &#39;$translate&#39;, &#39;$tim @@ -82,19 +82,21 @@ citApp.controller(&#39;GerenciarProcessoController&#39;, [ &#39;$scope&#39;, &#39;$translate&#39;, &#39;$tim
82 82
83 // ABRE ABA PARA CRIAR NOVO PROCESSO 83 // ABRE ABA PARA CRIAR NOVO PROCESSO
84 $scope.novoProcesso = function () { 84 $scope.novoProcesso = function () {
  85 +
  86 +
  87 + $scope.openWorkspaceIfNotOpen($translate.instant('ECM.LABEL.NOVOPROCESSO'), '/cit-ecm-web/html/processo/processoEdit.html', 'mod-orange');
  88 +
85 89
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(); 90 +
  91 + $timeout(function() {
  92 + angular.element('#editProcessoEcm').scope().$showPageEditWorkspace(angular.element('#editProcessoEcm').scope().workspace);
  93 + $timeout(function(){
  94 + angular.element('#editProcessoEcm').scope().resetForm();
  95 + }, 1000);
96 96
97 - }, 600 ); 97 + }, 300);
  98 +
  99 + angular.element("#citapp-controller").scope().removeWorkspace($scope.workspace.id);
98 100
99 }; 101 };
100 102
@@ -275,8 +277,8 @@ citApp.controller(&#39;GerenciarProcessoController&#39;, [ &#39;$scope&#39;, &#39;$translate&#39;, &#39;$tim @@ -275,8 +277,8 @@ citApp.controller(&#39;GerenciarProcessoController&#39;, [ &#39;$scope&#39;, &#39;$translate&#39;, &#39;$tim
275 $scope.isProcessoEdit = true; 277 $scope.isProcessoEdit = true;
276 $scope.isVersoesDocumento = false; 278 $scope.isVersoesDocumento = false;
277 279
278 - $timeout( function () {  
279 - angular.element( '#editProcessoEcm' ).scope().getProcesso( $scope.processo, true ); 280 + $timeout( function () {
  281 + angular.element( '#editProcessoEditEcm' ).scope().getProcesso( $scope.processo, true );
280 angular.element( document.querySelector( '#topoMenu' ) ).remove(); 282 angular.element( document.querySelector( '#topoMenu' ) ).remove();
281 angular.element( document.querySelector( '#cabecalhoProcesso' ) ).remove(); 283 angular.element( document.querySelector( '#cabecalhoProcesso' ) ).remove();
282 } ); 284 } );
@@ -613,8 +615,6 @@ citApp.controller(&#39;GerenciarProcessoController&#39;, [ &#39;$scope&#39;, &#39;$translate&#39;, &#39;$tim @@ -613,8 +615,6 @@ citApp.controller(&#39;GerenciarProcessoController&#39;, [ &#39;$scope&#39;, &#39;$translate&#39;, &#39;$tim
613 angular.element( "#citapp-controller" ).scope().removeWorkspace( workspace.id ); 615 angular.element( "#citapp-controller" ).scope().removeWorkspace( workspace.id );
614 } 616 }
615 617
616 - $scope.tratimitado();  
617 -  
618 $scope.setLoading( false ); 618 $scope.setLoading( false );
619 } ); 619 } );
620 620
@@ -665,7 +665,7 @@ citApp.controller(&#39;GerenciarProcessoController&#39;, [ &#39;$scope&#39;, &#39;$translate&#39;, &#39;$tim @@ -665,7 +665,7 @@ citApp.controller(&#39;GerenciarProcessoController&#39;, [ &#39;$scope&#39;, &#39;$translate&#39;, &#39;$tim
665 } 665 }
666 if($scope.usuarioLogado.unidade){ 666 if($scope.usuarioLogado.unidade){
667 667
668 - UnidadeProcessoRepository.findByIdProcesso($scope.idProcesso).then(function(result){ 668 + UnidadeProcessoRepository.findByPorIdProcessoEmExecucao($scope.idProcesso).then(function(result){
669 669
670 $scope.processoUnidades = result; 670 $scope.processoUnidades = result;
671 671
cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/ProcessoController.js
1 'use strict'; 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 $scope.processo = {}; 5 $scope.processo = {};
6 $scope.assuntoPlanoClassificacao = null; 6 $scope.assuntoPlanoClassificacao = null;
@@ -8,16 +8,21 @@ citApp.controller(&#39;ProcessoController&#39;, [&#39;$scope&#39;, &#39;ProcessoRepository&#39;, &#39;Domini @@ -8,16 +8,21 @@ citApp.controller(&#39;ProcessoController&#39;, [&#39;$scope&#39;, &#39;ProcessoRepository&#39;, &#39;Domini
8 $scope.processo.tipoProtocolo = { 8 $scope.processo.tipoProtocolo = {
9 codigo : 1 9 codigo : 1
10 }; 10 };
  11 +
  12 + $scope.setForm = function(scope){
  13 + this.processoForm = scope.processoForm;
  14 + };
11 15
12 // Limpa formulário para novo cadastro 16 // Limpa formulário para novo cadastro
13 $scope.resetForm = function() { 17 $scope.resetForm = function() {
14 $scope.limparProcesso(); 18 $scope.limparProcesso();
15 - 19 +
16 $scope.edit = true; 20 $scope.edit = true;
17 $timeout(function(){ 21 $timeout(function(){
18 $scope.processoForm.$submitted = false; 22 $scope.processoForm.$submitted = false;
19 $scope.processoForm.$setPristine(); 23 $scope.processoForm.$setPristine();
20 }); 24 });
  25 +
21 }; 26 };
22 27
23 // Atualiza pagina de pesquisa 28 // Atualiza pagina de pesquisa
@@ -62,9 +67,11 @@ citApp.controller(&#39;ProcessoController&#39;, [&#39;$scope&#39;, &#39;ProcessoRepository&#39;, &#39;Domini @@ -62,9 +67,11 @@ citApp.controller(&#39;ProcessoController&#39;, [&#39;$scope&#39;, &#39;ProcessoRepository&#39;, &#39;Domini
62 67
63 ProcessoRepository.save($scope.processo).then(function(result) { 68 ProcessoRepository.save($scope.processo).then(function(result) {
64 $scope.processo = result.originalElement; 69 $scope.processo = result.originalElement;
65 - $scope.showAlert("success", $translate.instant('ECM.MSG.SALVO_SUCESSO'), $translate.instant('ECM.MSG.O_PROCESSO') + " " + $scope.processo.nup);  
66 70
67 if(isNew){ 71 if(isNew){
  72 +
  73 + $scope.showAlert("success", $translate.instant('ECM.MSG.SALVO_SUCESSO'), $translate.instant('ECM.MSG.O_PROCESSO') + " " + $scope.processo.nup);
  74 +
68 var historicoAlteracaoProcesso = { 75 var historicoAlteracaoProcesso = {
69 descricaoAcao : $translate.instant('ECM.MSG_HISTORICO_ECM.INCLUSAO_PROCESSO'), 76 descricaoAcao : $translate.instant('ECM.MSG_HISTORICO_ECM.INCLUSAO_PROCESSO'),
70 processo : $scope.processo, 77 processo : $scope.processo,
@@ -76,7 +83,11 @@ citApp.controller(&#39;ProcessoController&#39;, [&#39;$scope&#39;, &#39;ProcessoRepository&#39;, &#39;Domini @@ -76,7 +83,11 @@ citApp.controller(&#39;ProcessoController&#39;, [&#39;$scope&#39;, &#39;ProcessoRepository&#39;, &#39;Domini
76 $scope.setLoadingSalva(false); 83 $scope.setLoadingSalva(false);
77 84
78 }); 85 });
  86 +
  87 + $scope.resetForm();
  88 +
79 } else { 89 } else {
  90 + $scope.showAlert("success", $translate.instant('MSG.REGISTRO_SALVO'));
80 var historicoAlteracaoProcesso = { 91 var historicoAlteracaoProcesso = {
81 descricaoAcao : $translate.instant('ECM.MSG_HISTORICO_ECM.ALTERACAO_METADADO_PROCESSO'), 92 descricaoAcao : $translate.instant('ECM.MSG_HISTORICO_ECM.ALTERACAO_METADADO_PROCESSO'),
82 processo : $scope.processo, 93 processo : $scope.processo,
@@ -89,8 +100,7 @@ citApp.controller(&#39;ProcessoController&#39;, [&#39;$scope&#39;, &#39;ProcessoRepository&#39;, &#39;Domini @@ -89,8 +100,7 @@ citApp.controller(&#39;ProcessoController&#39;, [&#39;$scope&#39;, &#39;ProcessoRepository&#39;, &#39;Domini
89 100
90 }); 101 });
91 } 102 }
92 - $scope.processoForm.$submitted = false;  
93 - $scope.resetForm(); 103 + $scope.processoForm.$submitted = false;
94 }); 104 });
95 105
96 }else{ 106 }else{
@@ -103,8 +113,9 @@ citApp.controller(&#39;ProcessoController&#39;, [&#39;$scope&#39;, &#39;ProcessoRepository&#39;, &#39;Domini @@ -103,8 +113,9 @@ citApp.controller(&#39;ProcessoController&#39;, [&#39;$scope&#39;, &#39;ProcessoRepository&#39;, &#39;Domini
103 $scope.limparProcesso = function(){ 113 $scope.limparProcesso = function(){
104 $scope.processo = {}; 114 $scope.processo = {};
105 $scope.assuntoPlanoClassificacao = null; 115 $scope.assuntoPlanoClassificacao = null;
106 - $scope.sugestoes = null;  
107 $scope.assuntoSelecionado = null; 116 $scope.assuntoSelecionado = null;
  117 + $scope.sugestoes = [];
  118 + $scope.assuntos = [];
108 $scope.processo.tipoProtocolo = { 119 $scope.processo.tipoProtocolo = {
109 codigo : 1 120 codigo : 1
110 }; 121 };
@@ -113,7 +124,9 @@ citApp.controller(&#39;ProcessoController&#39;, [&#39;$scope&#39;, &#39;ProcessoRepository&#39;, &#39;Domini @@ -113,7 +124,9 @@ citApp.controller(&#39;ProcessoController&#39;, [&#39;$scope&#39;, &#39;ProcessoRepository&#39;, &#39;Domini
113 124
114 // Consulta entidade e mostra no formulario 125 // Consulta entidade e mostra no formulario
115 $scope.getProcesso = function(processo, edit){ 126 $scope.getProcesso = function(processo, edit){
116 - 127 +
  128 + $scope.processoForm = $scope.processoEditController.processoForm;
  129 +
117 $scope.setLoadingGet(true); 130 $scope.setLoadingGet(true);
118 131
119 ProcessoRepository.get(processo.id).then(function(result) { 132 ProcessoRepository.get(processo.id).then(function(result) {
@@ -130,16 +143,12 @@ citApp.controller(&#39;ProcessoController&#39;, [&#39;$scope&#39;, &#39;ProcessoRepository&#39;, &#39;Domini @@ -130,16 +143,12 @@ citApp.controller(&#39;ProcessoController&#39;, [&#39;$scope&#39;, &#39;ProcessoRepository&#39;, &#39;Domini
130 $scope.setAssuntoModelByTipoAssunto = function(){ 143 $scope.setAssuntoModelByTipoAssunto = function(){
131 $scope.sugestoes = []; 144 $scope.sugestoes = [];
132 $scope.assuntos = []; 145 $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 - }); 146 +
  147 + if($scope.processo.tipoAssunto == 1){
  148 + $scope.sugestoes.push($scope.processo.assunto);
  149 + }else if($scope.processo.tipoAssunto == 2 ) {
  150 + $scope.assuntoSelecionado = $scope.processo.assunto;
  151 + }
143 152
144 }; 153 };
145 154
@@ -177,6 +186,8 @@ citApp.controller(&#39;ProcessoController&#39;, [&#39;$scope&#39;, &#39;ProcessoRepository&#39;, &#39;Domini @@ -177,6 +186,8 @@ citApp.controller(&#39;ProcessoController&#39;, [&#39;$scope&#39;, &#39;ProcessoRepository&#39;, &#39;Domini
177 186
178 $scope.findSugestaoAssunto = function(tipoProcesso){ 187 $scope.findSugestaoAssunto = function(tipoProcesso){
179 188
  189 + $scope.assuntos = [];
  190 +
180 TipoProcessoPlanoClassificacaoRepository.findPorTipoProcesso(tipoProcesso.id).then(function(result){ 191 TipoProcessoPlanoClassificacaoRepository.findPorTipoProcesso(tipoProcesso.id).then(function(result){
181 192
182 angular.forEach(result, function (item) { 193 angular.forEach(result, function (item) {
@@ -191,6 +202,8 @@ citApp.controller(&#39;ProcessoController&#39;, [&#39;$scope&#39;, &#39;ProcessoRepository&#39;, &#39;Domini @@ -191,6 +202,8 @@ citApp.controller(&#39;ProcessoController&#39;, [&#39;$scope&#39;, &#39;ProcessoRepository&#39;, &#39;Domini
191 $scope.nivelAcessoList = []; 202 $scope.nivelAcessoList = [];
192 203
193 $scope.assuntos = []; 204 $scope.assuntos = [];
  205 +
  206 + $scope.findSugestaoAssunto(tipoProcesso);
194 207
195 NivelAcessoTipoProcessoRepository.findPorIdTipoProcesso(tipoProcesso.id).then(function(result) { 208 NivelAcessoTipoProcessoRepository.findPorIdTipoProcesso(tipoProcesso.id).then(function(result) {
196 209
@@ -198,7 +211,6 @@ citApp.controller(&#39;ProcessoController&#39;, [&#39;$scope&#39;, &#39;ProcessoRepository&#39;, &#39;Domini @@ -198,7 +211,6 @@ citApp.controller(&#39;ProcessoController&#39;, [&#39;$scope&#39;, &#39;ProcessoRepository&#39;, &#39;Domini
198 //Setar o nivelAcessoTipoProcesso público. 211 //Setar o nivelAcessoTipoProcesso público.
199 $scope.processo.nivelAcesso = $.grep($scope.nivelAcessoList, function(e){ return e.nivelAcesso.codigo == 2; })[0].originalElement; 212 $scope.processo.nivelAcesso = $.grep($scope.nivelAcessoList, function(e){ return e.nivelAcesso.codigo == 2; })[0].originalElement;
200 213
201 - $scope.findSugestaoAssunto(tipoProcesso);  
202 }); 214 });
203 }; 215 };
204 216
@@ -261,25 +273,46 @@ citApp.controller(&#39;ProcessoController&#39;, [&#39;$scope&#39;, &#39;ProcessoRepository&#39;, &#39;Domini @@ -261,25 +273,46 @@ citApp.controller(&#39;ProcessoController&#39;, [&#39;$scope&#39;, &#39;ProcessoRepository&#39;, &#39;Domini
261 $scope.processo.interessados.push({ 273 $scope.processo.interessados.push({
262 interessado : item 274 interessado : item
263 }); 275 });
  276 + //Limpa autoComplete de interessado
264 $timeout(function(){ 277 $timeout(function(){
265 - $scope.interessado = null; 278 + if($scope.processoForm && $scope.processoForm['interessado']) {
  279 + $scope.processoForm['interessado'].$setViewValue('');
  280 + $scope.processoForm['interessado'].$render();
  281 + };
266 }); 282 });
267 }; 283 };
268 284
269 $scope.removerInteressados = function(){ 285 $scope.removerInteressados = function(){
270 if($scope.interessadoChecked){ 286 if($scope.interessadoChecked){
271 - $scope.$openModalConfirm({message: $translate.instant('MSG.DESEJA_EXCLUIR_ITENS'), callback: $scope.excluir, item: $scope.interessadoChecked}); 287 + $scope.$openModalConfirm({message: $translate.instant('MSG.DESEJA_EXCLUIR_ITENS'), callback: $scope.excluirInteressado, item: $scope.interessadoChecked});
  288 + }else{
  289 + $scope.showAlert('warning', $translate.instant('MSG.SELECIONE_ITEM_EXCLUIR'), " ", false);
272 } 290 }
273 }; 291 };
274 -  
275 - $scope.excluir = function() { 292 +
  293 + //Setar o interessado para remoção.
  294 + $scope.setInteressadoRemocao = function(interessadoRemocao, $index){
  295 + $scope.interessadoChecked = interessadoRemocao;
  296 + $scope.interessadoChecked.$index = $index;
  297 + };
  298 +
  299 + //Remove o interessado
  300 + $scope.excluirInteressado = function() {
276 var obj = this.item; 301 var obj = this.item;
277 if (obj.id) { 302 if (obj.id) {
278 - $scope.showAlertSucesso("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); 303 + InteressadoProcessoRepository.remove(obj).then(function() {
  304 +
  305 + });
279 } 306 }
  307 + $scope.showAlertSucesso("success", $translate.instant('MSG.REGISTRO_EXCLUIDO'));
280 $scope.processo.interessados.splice(obj.$index, 1); 308 $scope.processo.interessados.splice(obj.$index, 1);
281 $scope.$modalConfirmInstance.dismiss('cancel'); 309 $scope.$modalConfirmInstance.dismiss('cancel');
  310 +
  311 + $scope.interessadoChecked = null;
282 }; 312 };
  313 +
  314 +
  315 +
283 316
284 DominioRepository.findAllDominio('tipoProtocoloNup').then(function(result) { 317 DominioRepository.findAllDominio('tipoProtocoloNup').then(function(result) {
285 $scope.dominiosTipoProtocoloNup = result; 318 $scope.dominiosTipoProtocoloNup = result;
@@ -296,17 +329,14 @@ citApp.controller(&#39;ProcessoController&#39;, [&#39;$scope&#39;, &#39;ProcessoRepository&#39;, &#39;Domini @@ -296,17 +329,14 @@ citApp.controller(&#39;ProcessoController&#39;, [&#39;$scope&#39;, &#39;ProcessoRepository&#39;, &#39;Domini
296 }, 600); 329 }, 600);
297 330
298 }; 331 };
299 -  
300 -/* $scope.update_select = function(sugestao) {  
301 - console.log($scope.selection);  
302 - };*/ 332 +
303 333
304 $scope.setAssunto = function(itens){ 334 $scope.setAssunto = function(itens){
305 335
  336 + $scope.processo.tipoAssunto = 1;
306 if(itens.length > 1){ 337 if(itens.length > 1){
307 338
308 $scope.processo.assunto = itens[itens.length - 1]; 339 $scope.processo.assunto = itens[itens.length - 1];
309 - $scope.processo.tipoAssunto = 1;  
310 $scope.sugestoes = []; 340 $scope.sugestoes = [];
311 $scope.sugestoes.push($scope.assunto); 341 $scope.sugestoes.push($scope.assunto);
312 342
@@ -321,5 +351,14 @@ citApp.controller(&#39;ProcessoController&#39;, [&#39;$scope&#39;, &#39;ProcessoRepository&#39;, &#39;Domini @@ -321,5 +351,14 @@ citApp.controller(&#39;ProcessoController&#39;, [&#39;$scope&#39;, &#39;ProcessoRepository&#39;, &#39;Domini
321 $scope.processo.tipoAssunto = 2; 351 $scope.processo.tipoAssunto = 2;
322 $scope.processo.assunto = assuntoSelecionado; 352 $scope.processo.assunto = assuntoSelecionado;
323 }; 353 };
  354 +
  355 + $scope.inicializarProcesso = function(){
  356 + $scope.resetForm();
  357 + $timeout(function() {
  358 + $scope.processoForm = $scope.processoNewController.processoForm;
  359 + });
  360 + };
  361 +
  362 + $scope.inicializarProcesso();
324 363
325 }]); 364 }]);
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,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 AbstractRepository.extend(UnidadeProcessoRepository); 28 AbstractRepository.extend(UnidadeProcessoRepository);
cit-ecm-web/src/main/webapp/html/gerenciarProcesso/includeAcaoProcesso.html
@@ -25,34 +25,5 @@ @@ -25,34 +25,5 @@
25 25
26 <div ng-include src="'/cit-ecm-web/html/processo/metadadoProcessoView.html'" ng-show="isVisualizarMetadadoProcesso" /> 26 <div ng-include src="'/cit-ecm-web/html/processo/metadadoProcessoView.html'" ng-show="isVisualizarMetadadoProcesso" />
27 27
  28 +<div ng-include src="'/cit-ecm-web/html/processo/processoMetadadoEdit.html'" ng-show="isProcessoEdit" />
28 29
29 -  
30 -<div id="widget-processo" ng-show="isProcessoEdit" class="widget-box margin-bottom">  
31 - <div class="widget-header">  
32 - <h2 class="widget-title">  
33 - <translate>ECM.LABEL.PROCESSO</translate>  
34 - </h2>  
35 -  
36 - <div class="widget-toolbar">  
37 - <a href="#void" ng-click="closeWidget('widget-processo')"> <i class="fa fa-close"></i>  
38 - </a>  
39 - </div>  
40 - </div>  
41 - <div class="widget-body">  
42 - <div class="widget-main clearfix">  
43 - <div ng-include src="'/cit-ecm-web/html/processo/processoEdit.html'" />  
44 - </div>  
45 - </div>  
46 -  
47 - <div class="row">  
48 - <div style="margin-top: -38px; margin-left: 17px;" class="col-md-12">  
49 - <button class="btn btn-sm btn-primary" ng-click="saveOrUpdateProcessoECM()" ng-show="true">  
50 - <translate>LABEL.SALVAR</translate>  
51 - </button>  
52 -  
53 - <button class="btn btn-sm btn-primary" ng-click="closeWidget('widget-processo')" ng-show="true">  
54 - <translate>LABEL.CANCELAR</translate>  
55 - </button>  
56 - </div>  
57 - </div>  
58 -</div>  
59 \ No newline at end of file 30 \ No newline at end of file
cit-ecm-web/src/main/webapp/html/historicoAlteracaoProcesso/historicoAlteracaoProcesso.html
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 <h2 class="widget-title"> 3 <h2 class="widget-title">
4 <translate>ECM.LABEL.HISTORICO_ALTERACAO_PROCESSO</translate> 4 <translate>ECM.LABEL.HISTORICO_ALTERACAO_PROCESSO</translate>
5 </h2> 5 </h2>
6 - <div class="col-sm-9 text-right"> 6 + <div class="widget-toolbar">
7 <button class="btn btn-clear" title="{{$translate.instant('LABEL.ATUALIZAR')}}" alt="{{$translate.instant('LABEL.ATUALIZAR')}}" ng-click="closeWidget()"> 7 <button class="btn btn-clear" title="{{$translate.instant('LABEL.ATUALIZAR')}}" alt="{{$translate.instant('LABEL.ATUALIZAR')}}" ng-click="closeWidget()">
8 <i class="fa fa-refresh purple"></i> 8 <i class="fa fa-refresh purple"></i>
9 <translate>LABEL.ATUALIZAR</translate> 9 <translate>LABEL.ATUALIZAR</translate>
@@ -11,6 +11,7 @@ @@ -11,6 +11,7 @@
11 </div> 11 </div>
12 12
13 </div> 13 </div>
  14 +
14 <div class="widget-body"> 15 <div class="widget-body">
15 <div class="widget-main clearfix"> 16 <div class="widget-main clearfix">
16 <div class="timeline" style="height: 420px; overflow: auto;"> 17 <div class="timeline" style="height: 420px; overflow: auto;">
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>  
65 - </div>  
66 - </div>  
67 - </div>  
68 - </div> 1 +<div id="editProcessoEcm" class="page-content clearfix" ng-controller="ProcessoController as processoNewController">
69 2
  3 + <div id="newProcesso" ng-if="!processo.id">
  4 + <div class="bar-buttons-action fixed">
70 <div class="row"> 5 <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}}' /> 6 + <div class="col-sm-8 text-left">
81 7
82 - </div>  
83 - </div> 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>
84 12
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 -  
96 - </div>  
97 - </div>  
98 - </div> 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>
99 17
100 - <div class="row" ng-show='processo.tipoProcesso.id'> 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>
101 22
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> 23 </div>
  24 +
  25 + <div class="col-sm-4 text-right">
107 26
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>  
120 - </div>  
121 - </div>  
122 - </div> 27 + <favorito />
123 28
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='false' 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" /> 29 + <help-button workspace="workspace" />
145 30
146 </div> 31 </div>
147 32
148 </div> 33 </div>
149 34
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> 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/metadadoProcessoEdit.html'" />
203 </form> 43 </form>
  44 +
204 </div> 45 </div>
  46 +
205 <!-- .page-content --> 47 <!-- .page-content -->
206 48
207 49