From 419c90f451ae170822bbd2e388eabf4acae9535b Mon Sep 17 00:00:00 2001 From: luis.camargo Date: Mon, 18 Apr 2016 17:53:58 -0300 Subject: [PATCH] redmine #4455 Construção da funcionalidade Rascunho; --- cit-contratos-api/src/main/java/br/com/centralit/api/dao/ProgramaDao.java | 14 ++++++++++++++ cit-contratos-api/src/main/java/br/com/centralit/api/dao/impl/ProgramaDaoHibernate.java | 17 +++++++++++++++++ cit-contratos-api/src/main/java/br/com/centralit/api/service/ProgramaService.java | 14 ++++++++++++++ cit-contratos-api/src/main/java/br/com/centralit/api/service/impl/ProgramaServiceImpl.java | 17 +++++++++++++++++ cit-contratos-web/src/main/java/br/com/centralit/controller/ProgramaController.java | 7 +++++++ cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/ContratoController.js | 5 +++++ cit-contratos-web/src/main/webapp/assets/js/angular/custom/repository/ProgramaRepository.js | 5 +++++ 7 files changed, 79 insertions(+), 0 deletions(-) diff --git a/cit-contratos-api/src/main/java/br/com/centralit/api/dao/ProgramaDao.java b/cit-contratos-api/src/main/java/br/com/centralit/api/dao/ProgramaDao.java index 5587d7a..e21f4cd 100644 --- a/cit-contratos-api/src/main/java/br/com/centralit/api/dao/ProgramaDao.java +++ b/cit-contratos-api/src/main/java/br/com/centralit/api/dao/ProgramaDao.java @@ -31,5 +31,19 @@ public interface ProgramaDao extends CitGenericDAO { * @return Collection */ Collection findAutoCompleteProgramaByNumeroOrNomeAndOrganizacao(String numeroOrNome, Long idOrganizacao); + + /** + *

Iniciativa(s): NUMERO_INICIATIVA

+ * + *

Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO

+ * + * Método responsável por trazer um programa através do id do programa ação. + * + * @author luis.camargo + * + * @param idProgramaAcao + * @return + */ + Programa findByProgramaAcao(Long idProgramaAcao); } diff --git a/cit-contratos-api/src/main/java/br/com/centralit/api/dao/impl/ProgramaDaoHibernate.java b/cit-contratos-api/src/main/java/br/com/centralit/api/dao/impl/ProgramaDaoHibernate.java index 2525e18..9862867 100644 --- a/cit-contratos-api/src/main/java/br/com/centralit/api/dao/impl/ProgramaDaoHibernate.java +++ b/cit-contratos-api/src/main/java/br/com/centralit/api/dao/impl/ProgramaDaoHibernate.java @@ -2,6 +2,8 @@ package br.com.centralit.api.dao.impl; import java.util.Collection; +import javax.persistence.Query; + import org.apache.commons.lang.StringUtils; import org.springframework.stereotype.Repository; @@ -75,4 +77,19 @@ public class ProgramaDaoHibernate extends CitGenericDAOImpl implements ProgramaD return this.search(searchSeven, this.persistentClass); } + + @Override + public Programa findByProgramaAcao(Long idProgramaAcao) { + + StringBuilder query = new StringBuilder(); + query.append("select p.* ") + .append(" from cnt_programa p ") + .append(" inner join cnt_p_acao pa on pa.programa_id = p.id ") + .append(" where pa.id = :idProgramaAcao "); + + Query resultado = em().createNativeQuery(query.toString(), Programa.class); + resultado.setParameter("idProgramaAcao", idProgramaAcao); + return (Programa) resultado.getSingleResult(); + } + } diff --git a/cit-contratos-api/src/main/java/br/com/centralit/api/service/ProgramaService.java b/cit-contratos-api/src/main/java/br/com/centralit/api/service/ProgramaService.java index d7ec491..9d4c68f 100644 --- a/cit-contratos-api/src/main/java/br/com/centralit/api/service/ProgramaService.java +++ b/cit-contratos-api/src/main/java/br/com/centralit/api/service/ProgramaService.java @@ -32,4 +32,18 @@ public interface ProgramaService extends GenericService { */ Collection findAutoCompleteProgramaByNumeroOrNomeAndOrganizacao(String numeroOrNome, Long idOrganizacao); + /** + *

Iniciativa(s): NUMERO_INICIATIVA

+ * + *

Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO

+ * + * Método responsável por trazer um programa através do id do programa ação. + * + * @author luis.camargo + * + * @param idProgramaAcao + * @return + */ + Programa findByProgramaAcao(Long idProgramaAcao); + } diff --git a/cit-contratos-api/src/main/java/br/com/centralit/api/service/impl/ProgramaServiceImpl.java b/cit-contratos-api/src/main/java/br/com/centralit/api/service/impl/ProgramaServiceImpl.java index f86d4ec..447fc2e 100644 --- a/cit-contratos-api/src/main/java/br/com/centralit/api/service/impl/ProgramaServiceImpl.java +++ b/cit-contratos-api/src/main/java/br/com/centralit/api/service/impl/ProgramaServiceImpl.java @@ -49,6 +49,23 @@ public class ProgramaServiceImpl extends GenericServiceImpl impl public Collection findAllByOrganizacao(Long organizacaoId) { return this.programaDao.findAllByOrganizacao(organizacaoId); } + + /** + *

Iniciativa(s): NUMERO_INICIATIVA

+ * + *

Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO

+ * + * Método responsável por trazer um programa através do id do programa ação. + * + * @author luis.camargo + * + * @param idProgramaAcao + * @return + */ + @Override + public Programa findByProgramaAcao(Long idProgramaAcao) { + return this.programaDao.findByProgramaAcao(idProgramaAcao); + } /** *

diff --git a/cit-contratos-web/src/main/java/br/com/centralit/controller/ProgramaController.java b/cit-contratos-web/src/main/java/br/com/centralit/controller/ProgramaController.java index 366a41d..4b7f3a0 100644 --- a/cit-contratos-web/src/main/java/br/com/centralit/controller/ProgramaController.java +++ b/cit-contratos-web/src/main/java/br/com/centralit/controller/ProgramaController.java @@ -104,6 +104,13 @@ public class ProgramaController extends GenericController { return responseBody; } + @RequestMapping(value = "/findByProgramaAcao", method = RequestMethod.GET, produces = "application/json") + @ResponseBody + public ResponseBodyWrapper getValorTotalOS(@RequestParam(value = "idProgramaAcao") Long idProgramaAcao) { + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(this.programaService.findByProgramaAcao(idProgramaAcao), ViewsContrato.ProgramaAutoCompleteView.class); + return responseBody; + } + /** * {@inheritDoc} */ diff --git a/cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/ContratoController.js b/cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/ContratoController.js index 4c4c782..95a8991 100644 --- a/cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/ContratoController.js +++ b/cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/ContratoController.js @@ -194,6 +194,11 @@ citApp.controller('ContratoController', ['$scope', '$filter', 'FileUploader', 'C if (rascunho) { $scope.contrato = rascunho; + if ($scope.contrato.programaAcao) { + ProgramaRepository.findByProgramaAcao($scope.contrato.programaAcao.id).then(function(result) { + $scope.programaTemp = result.originalElement; + }); + } } $scope.workspace.objetoScope = $scope.contrato; $scope.startTimerIntervalSaveDraft($scope.workspace); diff --git a/cit-contratos-web/src/main/webapp/assets/js/angular/custom/repository/ProgramaRepository.js b/cit-contratos-web/src/main/webapp/assets/js/angular/custom/repository/ProgramaRepository.js index 4272238..1b4c286 100644 --- a/cit-contratos-web/src/main/webapp/assets/js/angular/custom/repository/ProgramaRepository.js +++ b/cit-contratos-web/src/main/webapp/assets/js/angular/custom/repository/ProgramaRepository.js @@ -11,6 +11,11 @@ citApp.factory('ProgramaRepository', ['RestangularContratos', 'AbstractRepositor this.findAutoCompleteProgramaByNumeroOrNomeAndOrganizacao = function(value, idOrganizacao) { return restangularContratos.one('rest/programa').getList("findAutoCompleteProgramaByNumeroOrNomeAndOrganizacao", {"numeroOrNome" : value, "idOrganizacao" : idOrganizacao}).then(); }; + + this.findByProgramaAcao = function(idProgramaAcao) { + return restangularContratos.one(this.route + "/findByProgramaAcao").get({"idProgramaAcao" : idProgramaAcao}).then(); + }; + } AbstractRepository.extend(ProgramaRepository); -- libgit2 0.21.2