From fe62be018e8a71521a2bb4ddd64b429e2cd996be Mon Sep 17 00:00:00 2001 From: erick.sato Date: Thu, 31 Mar 2016 16:41:28 -0300 Subject: [PATCH] [Redmine Atendimento #4206]Alteração geração de codigo estudo tecnico --- cit-contratos-api/src/main/java/br/com/centralit/api/dao/EstudoTecnicoDao.java | 2 ++ cit-contratos-api/src/main/java/br/com/centralit/api/dao/impl/EstudoTecnicoDaoHibernate.java | 39 +++++++++++++++++++++++++++++++++++---- cit-contratos-api/src/main/java/br/com/centralit/api/model/EstudoTecnico.java | 38 ++++++++++++++------------------------ cit-contratos-api/src/main/java/br/com/centralit/api/service/impl/ContratoEmpenhoServiceImpl.java | 15 ++++++++------- cit-contratos-api/src/main/java/br/com/centralit/api/service/impl/EstudoTecnicoServiceImpl.java | 28 ++++++++++++++++++---------- cit-contratos-api/src/main/resources/script-bd/v1.0.0-alpha10/01-cit-contratos-1.0.0-ALFA-10-postgres.sql | 27 ++++++++++++++++++++++++++- cit-contratos-api/src/test/java/br/com/centralit/api/service/impl/EstudoTecnicoServiceImplTest.java | 10 ++-------- cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/EstudoTecnicoListController.js | 9 +++++---- cit-contratos-web/src/main/webapp/html/contrato/dialog_item_contrato.html | 2 +- cit-contratos-web/src/main/webapp/html/estudoTecnico/estudoTecnicoPg1.html | 4 ++-- 10 files changed, 113 insertions(+), 61 deletions(-) diff --git a/cit-contratos-api/src/main/java/br/com/centralit/api/dao/EstudoTecnicoDao.java b/cit-contratos-api/src/main/java/br/com/centralit/api/dao/EstudoTecnicoDao.java index 8ae0673..ddc8425 100644 --- a/cit-contratos-api/src/main/java/br/com/centralit/api/dao/EstudoTecnicoDao.java +++ b/cit-contratos-api/src/main/java/br/com/centralit/api/dao/EstudoTecnicoDao.java @@ -53,4 +53,6 @@ public interface EstudoTecnicoDao extends CitGenericDAO{ */ public Collection findAutoCompleteEstudoTecnicoPorCodigoAndOrganizacao(String codigo, Long idOrganizacao); + EstudoTecnico buscarUltimoRegistroPorDataEmissao(int ano, Long idOrganizacao); + } diff --git a/cit-contratos-api/src/main/java/br/com/centralit/api/dao/impl/EstudoTecnicoDaoHibernate.java b/cit-contratos-api/src/main/java/br/com/centralit/api/dao/impl/EstudoTecnicoDaoHibernate.java index c059b3c..dc69b77 100644 --- a/cit-contratos-api/src/main/java/br/com/centralit/api/dao/impl/EstudoTecnicoDaoHibernate.java +++ b/cit-contratos-api/src/main/java/br/com/centralit/api/dao/impl/EstudoTecnicoDaoHibernate.java @@ -1,5 +1,6 @@ package br.com.centralit.api.dao.impl; +import java.util.Calendar; import java.util.Collection; import org.springframework.stereotype.Repository; @@ -10,6 +11,7 @@ import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl; import br.com.centralit.framework.dao.arquitetura.SearchSeven; import com.googlecode.genericdao.search.Filter; +import com.googlecode.genericdao.search.Search; import com.googlecode.genericdao.search.Sort; @@ -64,11 +66,11 @@ public class EstudoTecnicoDaoHibernate extends CitGenericDAOImpl implements Estu SearchSeven search = new SearchSeven(this.persistentClass); - search.addFilterILike("codigo", "%" + codigo + "%"); + search.addFilterILike("registroSequencial.sequencialAno", "%" + codigo + "%"); search.addFilterEmpty("dataInativo"); - search.addSort(Sort.asc("codigo")); + search.addSort(Sort.asc("registroSequencial.sequencialAno")); search.setMaxResults(10); @@ -89,9 +91,9 @@ public class EstudoTecnicoDaoHibernate extends CitGenericDAOImpl implements Estu SearchSeven searchSeven = new SearchSeven(this.persistentClass); - searchSeven.addSort(Sort.asc("codigo")); + searchSeven.addSort(Sort.asc("registroSequencial.sequencialAno")); - searchSeven.addFilter(Filter.ilike("codigo", "%" + codigo + "%")); + searchSeven.addFilter(Filter.ilike("registroSequencial.sequencialAno", "%" + codigo + "%")); searchSeven.addFilterEqual("organizacao.id", idOrganizacao); @@ -101,4 +103,33 @@ public class EstudoTecnicoDaoHibernate extends CitGenericDAOImpl implements Estu } + @Override + public EstudoTecnico buscarUltimoRegistroPorDataEmissao(int ano, Long idOrganizacao) { + int anoInformado = ano; + + Calendar dataInicial = Calendar.getInstance(); + dataInicial.set(anoInformado, Calendar.JANUARY, 1); + dataInicial.set(Calendar.HOUR_OF_DAY,00); + dataInicial.set(Calendar.MINUTE,00); + dataInicial.set(Calendar.SECOND,00); + dataInicial.set(Calendar.MILLISECOND,0); + + Calendar dataFinal = Calendar.getInstance(); + dataFinal.set(anoInformado, Calendar.DECEMBER, 31); + dataFinal.set(Calendar.HOUR_OF_DAY,23); + dataFinal.set(Calendar.MINUTE,59); + dataFinal.set(Calendar.SECOND,59); + dataFinal.set(Calendar.MILLISECOND,999); + + Search search = new Search(); + search.addFilterNotNull("registroSequencial.numeroSequencial"); + search.addFilterEqual("organizacao.id", idOrganizacao); + search.addFilterGreaterOrEqual("dataCriacao", dataInicial); + search.addFilterLessOrEqual("dataCriacao", dataFinal); + search.addSortDesc("registroSequencial.numeroSequencial"); + search.setMaxResults(1); + + return searchUnique(search); + } + } diff --git a/cit-contratos-api/src/main/java/br/com/centralit/api/model/EstudoTecnico.java b/cit-contratos-api/src/main/java/br/com/centralit/api/model/EstudoTecnico.java index 8076163..81a5549 100644 --- a/cit-contratos-api/src/main/java/br/com/centralit/api/model/EstudoTecnico.java +++ b/cit-contratos-api/src/main/java/br/com/centralit/api/model/EstudoTecnico.java @@ -5,6 +5,7 @@ import java.util.Collection; import javax.persistence.CascadeType; import javax.persistence.Column; +import javax.persistence.Embedded; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; @@ -59,10 +60,9 @@ public class EstudoTecnico extends PersistentObjectAuditOrganizacao { @JsonView({ Views.GenericView.class }) private Long id; - /** Atributo codigo. */ - @Column(length = 30, nullable=false) - @JsonView({ ViewsContrato.EstudoTecnicoEditView.class, ViewsContrato.TermoReferenciaListView.class, ViewsContrato.EstudoTecnicoAutoCompleteView.class, ViewsContrato.ContratoEditView.class }) - private String codigo; + @Embedded + @JsonView({ ViewsContrato.EstudoTecnicoEditView.class, ViewsContrato.TermoReferenciaEditView.class, Views.GenericView.class }) + private RegistroSequencial registroSequencial; /** Atributo numeroPortaria. */ @Column(length = 30, nullable=false) @@ -167,6 +167,16 @@ public class EstudoTecnico extends PersistentObjectAuditOrganizacao { @JsonView({ ViewsContrato.EstudoTecnicoEditView.class }) private Collection documentos; + public RegistroSequencial getRegistroSequencial() { + + return registroSequencial; + } + + public void setRegistroOcorrenciaSequencial(RegistroSequencial registroSequencial) { + + this.registroSequencial = registroSequencial; + } + /** * Retorna o valor do atributo id * @@ -189,26 +199,6 @@ public class EstudoTecnico extends PersistentObjectAuditOrganizacao { } /** - * Retorna o valor do atributo codigo - * - * @return String - */ - public String getCodigo() { - - return codigo; - } - - /** - * Define o valor do atributo codigo. - * - * @param codigo - */ - public void setCodigo(String codigo) { - - this.codigo = codigo; - } - - /** * Retorna o valor do atributo numeroPortaria * * @return String diff --git a/cit-contratos-api/src/main/java/br/com/centralit/api/service/impl/ContratoEmpenhoServiceImpl.java b/cit-contratos-api/src/main/java/br/com/centralit/api/service/impl/ContratoEmpenhoServiceImpl.java index 7061a54..1524bfa 100644 --- a/cit-contratos-api/src/main/java/br/com/centralit/api/service/impl/ContratoEmpenhoServiceImpl.java +++ b/cit-contratos-api/src/main/java/br/com/centralit/api/service/impl/ContratoEmpenhoServiceImpl.java @@ -11,6 +11,14 @@ import java.util.Map; import javax.servlet.http.HttpServletResponse; +import net.sf.jasperreports.engine.JRException; +import net.sf.jasperreports.engine.JasperCompileManager; +import net.sf.jasperreports.engine.JasperFillManager; +import net.sf.jasperreports.engine.JasperPrint; +import net.sf.jasperreports.engine.JasperReport; +import net.sf.jasperreports.engine.design.JasperDesign; +import net.sf.jasperreports.engine.xml.JRXmlLoader; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.stereotype.Service; @@ -38,13 +46,6 @@ import br.com.centralit.framework.util.UtilColecao; import br.com.centralit.framework.util.UtilDataBase; import br.com.centralit.framework.util.UtilDate; import br.com.centralit.framework.util.UtilObjeto; -import net.sf.jasperreports.engine.JRException; -import net.sf.jasperreports.engine.JasperCompileManager; -import net.sf.jasperreports.engine.JasperFillManager; -import net.sf.jasperreports.engine.JasperPrint; -import net.sf.jasperreports.engine.JasperReport; -import net.sf.jasperreports.engine.design.JasperDesign; -import net.sf.jasperreports.engine.xml.JRXmlLoader; /** * diff --git a/cit-contratos-api/src/main/java/br/com/centralit/api/service/impl/EstudoTecnicoServiceImpl.java b/cit-contratos-api/src/main/java/br/com/centralit/api/service/impl/EstudoTecnicoServiceImpl.java index 56e6eb1..696d796 100644 --- a/cit-contratos-api/src/main/java/br/com/centralit/api/service/impl/EstudoTecnicoServiceImpl.java +++ b/cit-contratos-api/src/main/java/br/com/centralit/api/service/impl/EstudoTecnicoServiceImpl.java @@ -1,11 +1,13 @@ package br.com.centralit.api.service.impl; import java.util.ArrayList; +import java.util.Calendar; import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.security.core.context.SecurityContextHolder; @@ -28,6 +30,7 @@ import br.com.centralit.api.model.EstudoTecnicoRequisitoNegocio; import br.com.centralit.api.model.Fornecedor; import br.com.centralit.api.model.OrgaoExterno; import br.com.centralit.api.model.QuestionarioPergunta; +import br.com.centralit.api.model.RegistroSequencial; import br.com.centralit.api.service.AnexoService; import br.com.centralit.api.service.ColaboradorService; import br.com.centralit.api.service.ConfiguracaoParametroSistemaService; @@ -148,7 +151,7 @@ public class EstudoTecnicoServiceImpl extends GenericServiceImpl 0); - assertNotNull(estudoTecnicoSaved.getCodigo()); - assertThat(estudoTecnicoSaved.getCodigo(), equalTo(CODIGO_INICIAL_ESTUDO_TECNICO_TESTE_SAVE_SEM_CODIGO)); - + assertNotNull(estudoTecnicoSaved.getRegistroSequencial()); LOG.info("==================== Finalizando testSavePrimeiroRegistroEstudoTecnicoSemCodigo ==================== "); } @@ -204,7 +200,6 @@ public class EstudoTecnicoServiceImplTest extends GenericServiceImplTest 0); - assertNotNull(estudoTecnicoSaved.getCodigo()); LOG.info("==================== Finalizando testMergeRegistroEstudoTecnicoComCodigo ==================== "); diff --git a/cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/EstudoTecnicoListController.js b/cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/EstudoTecnicoListController.js index 203e9a3..3ffe6d6 100644 --- a/cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/EstudoTecnicoListController.js +++ b/cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/EstudoTecnicoListController.js @@ -13,9 +13,10 @@ citApp.controller('EstudoTecnicoListController', ['$scope', 'EstudoTecnicoReposi $scope.headers = [ { - value : 'codigo', + value : 'registroSequencial.sequencialAno', title : $translate.instant('LABEL.NUM_ESTUDO_TECNICO'), - align : 'text-center' + align : 'text-center', + mask : [new RegExp(/(\d{3})(\d{1,4})$/), '$1/$2'] },{ value : 'descricaoSolucao', title : $translate.instant('CONTRATOS.LABEL.DESCRICAO_SOLUCAO'), @@ -28,8 +29,8 @@ citApp.controller('EstudoTecnicoListController', ['$scope', 'EstudoTecnicoReposi dir : 'asc', sort : 'id', limit : 10, - fields: ['id', 'codigo', 'descricaoSolucao'], - filters : [{type: 'numeric-range', field: 'codigo'}, + fields: ['id', 'registroSequencial.sequencialAno', 'descricaoSolucao'], + filters : [{type: 'numeric-range', field: 'registroSequencial.sequencialAno'}, {type: 'string', field: 'descricaoSolucao'}] }; diff --git a/cit-contratos-web/src/main/webapp/html/contrato/dialog_item_contrato.html b/cit-contratos-web/src/main/webapp/html/contrato/dialog_item_contrato.html index 7d5f091..645b28f 100644 --- a/cit-contratos-web/src/main/webapp/html/contrato/dialog_item_contrato.html +++ b/cit-contratos-web/src/main/webapp/html/contrato/dialog_item_contrato.html @@ -22,7 +22,7 @@
-
diff --git a/cit-contratos-web/src/main/webapp/html/estudoTecnico/estudoTecnicoPg1.html b/cit-contratos-web/src/main/webapp/html/estudoTecnico/estudoTecnicoPg1.html index 93af1aa..4f84324 100644 --- a/cit-contratos-web/src/main/webapp/html/estudoTecnico/estudoTecnicoPg1.html +++ b/cit-contratos-web/src/main/webapp/html/estudoTecnico/estudoTecnicoPg1.html @@ -7,8 +7,8 @@
- +
-- libgit2 0.21.2