diff --git a/cit-contratos-api/src/main/java/br/com/centralit/api/dao/ContratoEmpenhoDao.java b/cit-contratos-api/src/main/java/br/com/centralit/api/dao/ContratoEmpenhoDao.java index c1e67fd..671367a 100644 --- a/cit-contratos-api/src/main/java/br/com/centralit/api/dao/ContratoEmpenhoDao.java +++ b/cit-contratos-api/src/main/java/br/com/centralit/api/dao/ContratoEmpenhoDao.java @@ -44,5 +44,5 @@ public interface ContratoEmpenhoDao extends CitGenericDAO { Collection findAllByContrato(Long contratoId); Collection findEmpenhoParaLiberacao(Long contratoId); - + } diff --git a/cit-contratos-api/src/main/java/br/com/centralit/api/dao/EventoLiberacaoPagamentoEmpenhoDao.java b/cit-contratos-api/src/main/java/br/com/centralit/api/dao/EventoLiberacaoPagamentoEmpenhoDao.java index 372494a..eb1972c 100644 --- a/cit-contratos-api/src/main/java/br/com/centralit/api/dao/EventoLiberacaoPagamentoEmpenhoDao.java +++ b/cit-contratos-api/src/main/java/br/com/centralit/api/dao/EventoLiberacaoPagamentoEmpenhoDao.java @@ -23,4 +23,6 @@ public interface EventoLiberacaoPagamentoEmpenhoDao extends CitGenericDAO { BigDecimal getValorTotalExecutadoEmpenho(Long empenhoId); + Boolean existeVinculoEmpenhoComLiberacaoPagamento(Long idEmpenho); + } diff --git a/cit-contratos-api/src/main/java/br/com/centralit/api/dao/impl/ContratoEmpenhoDaoHibernate.java b/cit-contratos-api/src/main/java/br/com/centralit/api/dao/impl/ContratoEmpenhoDaoHibernate.java index 2d48ef5..f880993 100644 --- a/cit-contratos-api/src/main/java/br/com/centralit/api/dao/impl/ContratoEmpenhoDaoHibernate.java +++ b/cit-contratos-api/src/main/java/br/com/centralit/api/dao/impl/ContratoEmpenhoDaoHibernate.java @@ -57,5 +57,6 @@ public class ContratoEmpenhoDaoHibernate extends CitGenericDAOImpl implements Co search.addFilterNotIn("dominioFinalidadeEmpenho.codigo", DominioContrato.CODIGO_TIPO_FINALIDADE_EMPENHO_CONTRATO_ANULACAO); return this.search(search); - } + } + } diff --git a/cit-contratos-api/src/main/java/br/com/centralit/api/dao/impl/EventoLiberacaoPagamentoEmpenhoDaoHibernate.java b/cit-contratos-api/src/main/java/br/com/centralit/api/dao/impl/EventoLiberacaoPagamentoEmpenhoDaoHibernate.java index 5da5da9..4275832 100644 --- a/cit-contratos-api/src/main/java/br/com/centralit/api/dao/impl/EventoLiberacaoPagamentoEmpenhoDaoHibernate.java +++ b/cit-contratos-api/src/main/java/br/com/centralit/api/dao/impl/EventoLiberacaoPagamentoEmpenhoDaoHibernate.java @@ -8,6 +8,7 @@ import org.springframework.stereotype.Repository; import br.com.centralit.api.dao.EventoLiberacaoPagamentoEmpenhoDao; import br.com.centralit.api.model.EventoLiberacaoPagamentoEmpenho; import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl; +import br.com.centralit.framework.dao.arquitetura.SearchSeven; import com.googlecode.genericdao.search.Search; @@ -50,4 +51,15 @@ public class EventoLiberacaoPagamentoEmpenhoDaoHibernate extends CitGenericDAOIm return valorTotalOs; } + @Override + public Boolean existeVinculoEmpenhoComLiberacaoPagamento(Long idEmpenho) { + SearchSeven search = new SearchSeven(this.persistentClass); + + search.addFilterEqual("contratoEmpenho.id", idEmpenho); + + List lista = this.search(search, this.persistentClass); + + return lista == null || lista.isEmpty() ? false : true; + } + } diff --git a/cit-contratos-api/src/main/java/br/com/centralit/api/service/EventoLiberacaoPagamentoEmpenhoService.java b/cit-contratos-api/src/main/java/br/com/centralit/api/service/EventoLiberacaoPagamentoEmpenhoService.java index 3277e51..b9eb11a 100644 --- a/cit-contratos-api/src/main/java/br/com/centralit/api/service/EventoLiberacaoPagamentoEmpenhoService.java +++ b/cit-contratos-api/src/main/java/br/com/centralit/api/service/EventoLiberacaoPagamentoEmpenhoService.java @@ -25,4 +25,6 @@ public interface EventoLiberacaoPagamentoEmpenhoService extends GenericService{ + + private EventoLiberacaoPagamentoEmpenhoService eventoLiberacaoPagamentoEmpenhoService; + + public EventoLiberacaoPagamentoEmpenhoController() { + super(); + } + + /** + * Responsável pela criação de novas instâncias desta classe. + * + * @param eventoAtualizacaoStatusService + */ + @Autowired + private EventoLiberacaoPagamentoEmpenhoController( EventoLiberacaoPagamentoEmpenhoService eventoLiberacaoPagamentoEmpenhoService ) { + + super(eventoLiberacaoPagamentoEmpenhoService); + + this.eventoLiberacaoPagamentoEmpenhoService = eventoLiberacaoPagamentoEmpenhoService; + + } + + @RequestMapping(value = "/existeVinculoEmpenhoComLiberacaoPagamento", method = RequestMethod.GET, produces = "application/json") + @ResponseBody + public ResponseBodyWrapper existeVinculoEmpenhoComLiberacaoPagamento(@RequestParam(value = "idEmpenho") Long idEmpenho) { + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(eventoLiberacaoPagamentoEmpenhoService.existeVinculoEmpenhoComLiberacaoPagamento(idEmpenho), getEditView()); + return responseBody; + } + +} diff --git a/cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/VisaoContratoController.js b/cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/VisaoContratoController.js index c3110d8..0f1e1c5 100644 --- a/cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/VisaoContratoController.js +++ b/cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/VisaoContratoController.js @@ -14,6 +14,7 @@ citApp.controller('VisaoContratoController', ['$scope', 'EventoRecebimentoObjetoRepository', 'EventoRescisaoContratoRepository', 'EventoRepactuacaoRepository', + 'EventoLiberacaoPagamentoEmpenhoRepository', function VisaoContratoController($scope, $filter, $timeout, @@ -27,7 +28,8 @@ citApp.controller('VisaoContratoController', ['$scope', EventoRegistroNaoConformidadeRepository, EventoRecebimentoObjetoRepository, EventoRescisaoContratoRepository, - EventoRepactuacaoRepository) { + EventoRepactuacaoRepository, + EventoLiberacaoPagamentoEmpenhoRepository) { $scope._START_ITEMS = 0; $scope._LIMIT_ITEMS = 15; @@ -454,8 +456,11 @@ citApp.controller('VisaoContratoController', ['$scope', break; case 'EMPENHO': $scope.visualizarEvento = true; - $scope.editEvento = false; - $scope.removeEvento = false; + $scope.editEvento = true; + + EventoLiberacaoPagamentoEmpenhoRepository.existeVinculoEmpenhoComLiberacaoPagamento($scope.evento.id).then(function(result) { + $scope.removeEvento = !result; + }); break; case 'NAO_CONFORMIDADE': $scope.visualizarEvento = true; diff --git a/cit-contratos-web/src/main/webapp/assets/js/angular/custom/repository/EventoLiberacaoPagamentoEmpenhoRepository.js b/cit-contratos-web/src/main/webapp/assets/js/angular/custom/repository/EventoLiberacaoPagamentoEmpenhoRepository.js new file mode 100644 index 0000000..a90abaf --- /dev/null +++ b/cit-contratos-web/src/main/webapp/assets/js/angular/custom/repository/EventoLiberacaoPagamentoEmpenhoRepository.js @@ -0,0 +1,16 @@ +'use strict'; + +citApp.factory('EventoLiberacaoPagamentoEmpenhoRepository', ['RestangularContratos', 'AbstractRepository', function (restangularContratos, AbstractRepository) { + + function EventoLiberacaoPagamentoEmpenhoRepository() { + AbstractRepository.call(this, restangularContratos, 'rest/eventoLiberacaoPagamentoEmpenho'); + + this.existeVinculoEmpenhoComLiberacaoPagamento = function(idEmpenho) { + return restangularContratos.one(this.route + "/existeVinculoEmpenhoComLiberacaoPagamento").get({"idEmpenho": idEmpenho}).then(); + }; + } + + AbstractRepository.extend(EventoLiberacaoPagamentoEmpenhoRepository); + + return new EventoLiberacaoPagamentoEmpenhoRepository(); +}]); diff --git a/cit-contratos-web/src/main/webapp/html/eventos/cnt_ev_empenho.html b/cit-contratos-web/src/main/webapp/html/eventos/cnt_ev_empenho.html index 0387e60..03389ca 100644 --- a/cit-contratos-web/src/main/webapp/html/eventos/cnt_ev_empenho.html +++ b/cit-contratos-web/src/main/webapp/html/eventos/cnt_ev_empenho.html @@ -63,13 +63,13 @@
+ ng-disabled='!edit || evento.id' ng-required='edit && !evento.id'/>
@@ -79,7 +79,7 @@
@@ -99,7 +99,7 @@
+ ng-model="contratoEmpenho.valorEmpenhado" form="cnt_ev_registrar_empenhoForm" ng-obrigatorio="edit && !evento.id" ng-disabled="!edit || evento.id"/>
-- libgit2 0.21.2