Commit ef8f82c77a78758a9dfca8d46a627d8480c4fbf6

Authored by Ciro Junior
1 parent 89c16714
Exists in master

Correcoes na geracao automatica do numero sequencial do apostilamento.

Adicionado mensagem de faltante na internacionalizacao.
Corrigido comportamento da coluna bootstrap na tela do modal de apostilamento.
cit-contratos-api/src/main/java/br/com/centralit/api/dao/EventoApostilamentoDao.java
1 package br.com.centralit.api.dao; 1 package br.com.centralit.api.dao;
2 2
3 -import java.util.Calendar;  
4 - 3 +import br.com.centralit.api.model.EventoApostilamento;
5 import br.com.centralit.framework.dao.arquitetura.CitGenericDAO; 4 import br.com.centralit.framework.dao.arquitetura.CitGenericDAO;
6 -import br.com.centralit.framework.model.arquitetura.PersistentObject;  
7 5
8 -public interface EventoApostilamentoDao extends CitGenericDAO { 6 +public interface EventoApostilamentoDao extends CitGenericDAO, RegistroSequencialDaoInterface<EventoApostilamento> {
9 7
10 - /**  
11 - * Retorna o &uacute;ltimo objeto registrado para o ano informado.  
12 - * */  
13 - PersistentObject buscarUltimoRegistroPorDataEmissao(String property, Calendar dataEmissao, Long idOrganizacao);  
14 } 8 }
cit-contratos-api/src/main/java/br/com/centralit/api/dao/impl/EventoApostilamentoDaoHibernate.java
@@ -9,7 +9,6 @@ import com.googlecode.genericdao.search.Search; @@ -9,7 +9,6 @@ import com.googlecode.genericdao.search.Search;
9 import br.com.centralit.api.dao.EventoApostilamentoDao; 9 import br.com.centralit.api.dao.EventoApostilamentoDao;
10 import br.com.centralit.api.model.EventoApostilamento; 10 import br.com.centralit.api.model.EventoApostilamento;
11 import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl; 11 import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl;
12 -import br.com.centralit.framework.model.arquitetura.PersistentObject;  
13 12
14 13
15 /** 14 /**
@@ -33,7 +32,13 @@ public class EventoApostilamentoDaoHibernate extends CitGenericDAOImpl implement @@ -33,7 +32,13 @@ public class EventoApostilamentoDaoHibernate extends CitGenericDAOImpl implement
33 } 32 }
34 33
35 @Override 34 @Override
36 - public PersistentObject buscarUltimoRegistroPorDataEmissao(String property, Calendar dataEmissao, Long idOrganizacao) { 35 + public EventoApostilamento buscarUltimoRegistroPorDataEmissao(String property, Calendar dataEmissao, Long idOrganizacao) {
  36 +
  37 + return buscarUltimoRegistroPorDataEmissaoPorContrato(property, dataEmissao, idOrganizacao, null);
  38 + }
  39 +
  40 + @Override
  41 + public EventoApostilamento buscarUltimoRegistroPorDataEmissaoPorContrato(String property, Calendar dataEmissao, Long idOrganizacao, Long contratoId) {
37 42
38 int anoInformado = dataEmissao.get(Calendar.YEAR); 43 int anoInformado = dataEmissao.get(Calendar.YEAR);
39 44
@@ -56,10 +61,12 @@ public class EventoApostilamentoDaoHibernate extends CitGenericDAOImpl implement @@ -56,10 +61,12 @@ public class EventoApostilamentoDaoHibernate extends CitGenericDAOImpl implement
56 search.addFilterEqual("organizacao.id", idOrganizacao); 61 search.addFilterEqual("organizacao.id", idOrganizacao);
57 search.addFilterGreaterOrEqual("dataEmissao", dataInicial); 62 search.addFilterGreaterOrEqual("dataEmissao", dataInicial);
58 search.addFilterLessOrEqual("dataEmissao", dataFinal); 63 search.addFilterLessOrEqual("dataEmissao", dataFinal);
  64 + if(contratoId != null){
  65 + search.addFilterEqual("contrato.id", contratoId);
  66 + }
59 search.addSortDesc(property); 67 search.addSortDesc(property);
60 search.setMaxResults(1); 68 search.setMaxResults(1);
61 69
62 return searchUnique(search); 70 return searchUnique(search);
63 } 71 }
64 -  
65 } 72 }
cit-contratos-api/src/main/java/br/com/centralit/api/dao/impl/EventoRecebimentoObjetoDaoHibernate.java
@@ -7,7 +7,6 @@ import org.springframework.stereotype.Repository; @@ -7,7 +7,6 @@ import org.springframework.stereotype.Repository;
7 import com.googlecode.genericdao.search.Search; 7 import com.googlecode.genericdao.search.Search;
8 8
9 import br.com.centralit.api.dao.EventoRecebimentoObjetoDao; 9 import br.com.centralit.api.dao.EventoRecebimentoObjetoDao;
10 -import br.com.centralit.api.dao.RegistroSequencialDaoInterface;  
11 import br.com.centralit.api.model.EventoRecebimentoObjeto; 10 import br.com.centralit.api.model.EventoRecebimentoObjeto;
12 import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl; 11 import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl;
13 12
@@ -33,7 +32,7 @@ import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl; @@ -33,7 +32,7 @@ import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl;
33 * 32 *
34 */ 33 */
35 @Repository("eventoRecebimentoObjetoDao") 34 @Repository("eventoRecebimentoObjetoDao")
36 -public class EventoRecebimentoObjetoDaoHibernate extends CitGenericDAOImpl implements EventoRecebimentoObjetoDao, RegistroSequencialDaoInterface<EventoRecebimentoObjeto> { 35 +public class EventoRecebimentoObjetoDaoHibernate extends CitGenericDAOImpl implements EventoRecebimentoObjetoDao {
37 36
38 public EventoRecebimentoObjetoDaoHibernate() { 37 public EventoRecebimentoObjetoDaoHibernate() {
39 super(EventoRecebimentoObjeto.class); 38 super(EventoRecebimentoObjeto.class);
cit-contratos-api/src/main/java/br/com/centralit/api/service/EventoApostilamentoService.java
1 package br.com.centralit.api.service; 1 package br.com.centralit.api.service;
2 2
3 -import java.io.InputStream;  
4 import java.sql.Connection; 3 import java.sql.Connection;
5 4
6 import javax.servlet.http.HttpServletResponse; 5 import javax.servlet.http.HttpServletResponse;
7 6
8 -import net.sf.jasperreports.engine.JRException;  
9 -import net.sf.jasperreports.engine.JasperPrint;  
10 import br.com.centralit.api.model.EventoApostilamento; 7 import br.com.centralit.api.model.EventoApostilamento;
11 import br.com.centralit.framework.model.Usuario; 8 import br.com.centralit.framework.model.Usuario;
12 import br.com.centralit.framework.service.arquitetura.GenericService; 9 import br.com.centralit.framework.service.arquitetura.GenericService;
  10 +import net.sf.jasperreports.engine.JRException;
  11 +import net.sf.jasperreports.engine.JasperPrint;
13 12
14 13
15 /** 14 /**
@@ -24,7 +23,7 @@ import br.com.centralit.framework.service.arquitetura.GenericService; @@ -24,7 +23,7 @@ import br.com.centralit.framework.service.arquitetura.GenericService;
24 * @author ciro.junior (<a href="mailto:ciro.junior@centralit.com.br">ciro.junior@centralit.com.br</a>) 23 * @author ciro.junior (<a href="mailto:ciro.junior@centralit.com.br">ciro.junior@centralit.com.br</a>)
25 * 24 *
26 */ 25 */
27 -public interface EventoApostilamentoService extends GenericService<EventoApostilamento, Long> { 26 +public interface EventoApostilamentoService extends GenericService<EventoApostilamento, Long>, RegistroSequencialInterface<EventoApostilamento> {
28 27
29 /** 28 /**
30 * M&eacute;todo respons&aacute;vel por gerar o relat&oacute;rio de apostilamento 29 * M&eacute;todo respons&aacute;vel por gerar o relat&oacute;rio de apostilamento
cit-contratos-api/src/main/java/br/com/centralit/api/service/EventoRecebimentoObjetoService.java
@@ -10,7 +10,7 @@ import br.com.centralit.api.model.EventoRecebimentoObjeto; @@ -10,7 +10,7 @@ import br.com.centralit.api.model.EventoRecebimentoObjeto;
10 import br.com.centralit.framework.model.Usuario; 10 import br.com.centralit.framework.model.Usuario;
11 import br.com.centralit.framework.service.arquitetura.GenericService; 11 import br.com.centralit.framework.service.arquitetura.GenericService;
12 12
13 -public interface EventoRecebimentoObjetoService extends GenericService<EventoRecebimentoObjeto, Long> { 13 +public interface EventoRecebimentoObjetoService extends GenericService<EventoRecebimentoObjeto, Long>, RegistroSequencialInterface<EventoRecebimentoObjeto> {
14 14
15 /** 15 /**
16 * 16 *
cit-contratos-api/src/main/java/br/com/centralit/api/service/impl/EventoApostilamentoServiceImpl.java
@@ -191,11 +191,12 @@ public class EventoApostilamentoServiceImpl extends GenericServiceImpl&lt;EventoApo @@ -191,11 +191,12 @@ public class EventoApostilamentoServiceImpl extends GenericServiceImpl&lt;EventoApo
191 * @author ciro.junior (<a href="mailto:ciro.junior@centralit.com.br">ciro.junior@centralit.com.br</a>) 191 * @author ciro.junior (<a href="mailto:ciro.junior@centralit.com.br">ciro.junior@centralit.com.br</a>)
192 * @param entity 192 * @param entity
193 */ 193 */
194 - private void gerarNumeroSequencial(EventoApostilamento entity) { 194 + @Override
  195 + public void gerarNumeroSequencial(EventoApostilamento entity) {
195 196
196 // busca todos os registros dentro do ano de emissao e ordena decrescente pelo numeroSequencial. 197 // busca todos os registros dentro do ano de emissao e ordena decrescente pelo numeroSequencial.
197 - EventoApostilamento ultimoRegistro = (EventoApostilamento) eventoApostilamentoDao.buscarUltimoRegistroPorDataEmissao("registroSequencial.numeroSequencial",  
198 - entity.getDataEmissao(), entity.getOrganizacao().getId()); 198 + EventoApostilamento ultimoRegistro = (EventoApostilamento) eventoApostilamentoDao.buscarUltimoRegistroPorDataEmissaoPorContrato("registroSequencial.numeroSequencial",
  199 + entity.getDataEmissao(), entity.getOrganizacao().getId(), entity.getContrato().getId());
199 200
200 Long sequencial = null; 201 Long sequencial = null;
201 if (ultimoRegistro != null) { 202 if (ultimoRegistro != null) {
cit-contratos-api/src/main/java/br/com/centralit/api/service/impl/EventoRecebimentoObjetoServiceImpl.java
@@ -14,14 +14,6 @@ import java.util.Map; @@ -14,14 +14,6 @@ import java.util.Map;
14 14
15 import javax.servlet.http.HttpServletResponse; 15 import javax.servlet.http.HttpServletResponse;
16 16
17 -import net.sf.jasperreports.engine.JRException;  
18 -import net.sf.jasperreports.engine.JasperCompileManager;  
19 -import net.sf.jasperreports.engine.JasperFillManager;  
20 -import net.sf.jasperreports.engine.JasperPrint;  
21 -import net.sf.jasperreports.engine.JasperReport;  
22 -import net.sf.jasperreports.engine.design.JasperDesign;  
23 -import net.sf.jasperreports.engine.xml.JRXmlLoader;  
24 -  
25 import org.apache.commons.collections.CollectionUtils; 17 import org.apache.commons.collections.CollectionUtils;
26 import org.apache.commons.lang3.StringUtils; 18 import org.apache.commons.lang3.StringUtils;
27 import org.apache.log4j.Logger; 19 import org.apache.log4j.Logger;
@@ -45,7 +37,6 @@ import br.com.centralit.api.service.EventoLiberacaoPagamentoService; @@ -45,7 +37,6 @@ import br.com.centralit.api.service.EventoLiberacaoPagamentoService;
45 import br.com.centralit.api.service.EventoRecebimentoObjetoService; 37 import br.com.centralit.api.service.EventoRecebimentoObjetoService;
46 import br.com.centralit.api.service.InternacionalizacaoService; 38 import br.com.centralit.api.service.InternacionalizacaoService;
47 import br.com.centralit.api.service.ParceiroService; 39 import br.com.centralit.api.service.ParceiroService;
48 -import br.com.centralit.api.service.RegistroSequencialInterface;  
49 import br.com.centralit.api.service.UsuarioService; 40 import br.com.centralit.api.service.UsuarioService;
50 import br.com.centralit.framework.controller.ReportController; 41 import br.com.centralit.framework.controller.ReportController;
51 import br.com.centralit.framework.exception.BusinessException; 42 import br.com.centralit.framework.exception.BusinessException;
@@ -55,6 +46,13 @@ import br.com.centralit.framework.service.arquitetura.GenericServiceImpl; @@ -55,6 +46,13 @@ import br.com.centralit.framework.service.arquitetura.GenericServiceImpl;
55 import br.com.centralit.framework.util.UtilColecao; 46 import br.com.centralit.framework.util.UtilColecao;
56 import br.com.centralit.framework.util.UtilDataBase; 47 import br.com.centralit.framework.util.UtilDataBase;
57 import br.com.centralit.framework.util.UtilObjeto; 48 import br.com.centralit.framework.util.UtilObjeto;
  49 +import net.sf.jasperreports.engine.JRException;
  50 +import net.sf.jasperreports.engine.JasperCompileManager;
  51 +import net.sf.jasperreports.engine.JasperFillManager;
  52 +import net.sf.jasperreports.engine.JasperPrint;
  53 +import net.sf.jasperreports.engine.JasperReport;
  54 +import net.sf.jasperreports.engine.design.JasperDesign;
  55 +import net.sf.jasperreports.engine.xml.JRXmlLoader;
58 56
59 /** 57 /**
60 * 58 *
@@ -90,8 +88,7 @@ import br.com.centralit.framework.util.UtilObjeto; @@ -90,8 +88,7 @@ import br.com.centralit.framework.util.UtilObjeto;
90 * 88 *
91 */ 89 */
92 @Service("eventoRecebimentoObjetoService") 90 @Service("eventoRecebimentoObjetoService")
93 -public class EventoRecebimentoObjetoServiceImpl extends GenericServiceImpl<EventoRecebimentoObjeto, Long> implements  
94 - EventoRecebimentoObjetoService, RegistroSequencialInterface<EventoRecebimentoObjeto> { 91 +public class EventoRecebimentoObjetoServiceImpl extends GenericServiceImpl<EventoRecebimentoObjeto, Long> implements EventoRecebimentoObjetoService {
95 92
96 private static final Logger LOG = Logger.getLogger(EventoRecebimentoObjeto.class); 93 private static final Logger LOG = Logger.getLogger(EventoRecebimentoObjeto.class);
97 94
cit-contratos-web/src/main/java/br/com/centralit/listener/StartupListenerContratos.java
@@ -1004,6 +1004,8 @@ public class StartupListenerContratos extends UtilStartup implements Application @@ -1004,6 +1004,8 @@ public class StartupListenerContratos extends UtilStartup implements Application
1004 internacionalizacaoList.add(new Internacionalizacao("MSG.SELECIONE_UM_ITEM_PARA_GERAR_TERMO", "Selecione um item para gerar o termo", dominio, modulo)); 1004 internacionalizacaoList.add(new Internacionalizacao("MSG.SELECIONE_UM_ITEM_PARA_GERAR_TERMO", "Selecione um item para gerar o termo", dominio, modulo));
1005 internacionalizacaoList.add(new Internacionalizacao("MSG.DATA_RECEBIMENTO_INVALIDA", "A data de recebimento do objeto deve estar dentro do período de vigência do contrato selecionado!", dominio, modulo)); 1005 internacionalizacaoList.add(new Internacionalizacao("MSG.DATA_RECEBIMENTO_INVALIDA", "A data de recebimento do objeto deve estar dentro do período de vigência do contrato selecionado!", dominio, modulo));
1006 internacionalizacaoList.add(new Internacionalizacao("MSG.DESCRICAO_EVENTO_RECEBIMENTO_OBJETO", "Recebimento de objeto nº: %s realizado no dia %s", dominio, modulo)); 1006 internacionalizacaoList.add(new Internacionalizacao("MSG.DESCRICAO_EVENTO_RECEBIMENTO_OBJETO", "Recebimento de objeto nº: %s realizado no dia %s", dominio, modulo));
  1007 + internacionalizacaoList.add(new Internacionalizacao("CONTRATOS.MSG.TODOS_PAPEIS_ENVOLVIDOS_ADICIONADOS", "Todos os papéis envolvidos já adicionados.", dominio, modulo));
  1008 +
1007 1009
1008 } 1010 }
1009 1011
cit-contratos-web/src/main/webapp/html/eventos/cnt_ev_apostilamentoModal.html
@@ -41,11 +41,11 @@ @@ -41,11 +41,11 @@
41 ng-model="eventoApostilamento.contrato.fornecedor.pessoa.nome"form="cnt_ev_apostilamentoForm" ng-obrigatorio="false" ng-custom-maxlength="50" /> 41 ng-model="eventoApostilamento.contrato.fornecedor.pessoa.nome"form="cnt_ev_apostilamentoForm" ng-obrigatorio="false" ng-custom-maxlength="50" />
42 </div><!-- .col --> 42 </div><!-- .col -->
43 <div class="col-sm-3"> 43 <div class="col-sm-3">
44 - <label-input ng-type="text" ng-id="eventoApostilamento.contrato.fornecedor.pessoa.pessoaJuridica.cnpj" ng-label="LABEL.CNPJ_FORNECEDOR" 44 + <label-input ng-type="text" ng-id="eventoApostilamento.contrato.fornecedor.pessoa.pessoaJuridica.cnpj" ng-label="LABEL.CNPJ_FORNECEDOR"
45 ng-model="eventoApostilamento.contrato.fornecedor.pessoa.pessoaJuridica.cnpj" ng-mask="99.999.999/9999-99" form="cnt_ev_apostilamentoForm" ng-disabled="true"/> 45 ng-model="eventoApostilamento.contrato.fornecedor.pessoa.pessoaJuridica.cnpj" ng-mask="99.999.999/9999-99" form="cnt_ev_apostilamentoForm" ng-disabled="true"/>
46 </div><!-- .col --> 46 </div><!-- .col -->
47 <div class="col-sm-3"> 47 <div class="col-sm-3">
48 - <label-input ng-type="text" ng-id="eventoApostilamento.contrato.numeroProcesso" ng-label="LABEL.NUMERO_PROCESSO" ng-model="eventoApostilamento.contrato.numeroProcesso" 48 + <label-input ng-type="text" ng-id="eventoApostilamento.contrato.numeroProcesso" ng-label="LABEL.NUMERO_PROCESSO" ng-model="eventoApostilamento.contrato.numeroProcesso"
49 form="cnt_ev_apostilamentoForm" ng-disabled="true"/> 49 form="cnt_ev_apostilamentoForm" ng-disabled="true"/>
50 </div><!-- .col --> 50 </div><!-- .col -->
51 </div><!-- .row --> 51 </div><!-- .row -->
@@ -56,9 +56,9 @@ @@ -56,9 +56,9 @@
56 </div><!-- .col --> 56 </div><!-- .col -->
57 </div><!-- .row --> 57 </div><!-- .row -->
58 <div class="row"> 58 <div class="row">
59 - <div class="col-sm-4">  
60 - <label-input ng-type="text" ng-id="eventoApostilamento.registroSequencial.sequencialAno" ng-label="CONTRATOS.LABEL.NUMERO_APOSTILAMENTO" ng-disabled="true"  
61 - ng-custom-maxlength="30" ng-model="eventoApostilamento.registroSequencial.sequencialAno" ng-mask="9999/9999" form="cnt_ev_apostilamentoForm" ng-hide="!eventoApostilamento.id"/> 59 + <div class="col-sm-4" ng-show="eventoApostilamento.id">
  60 + <label-input ng-type="text" ng-id="eventoApostilamento.registroSequencial.sequencialAno" ng-label="CONTRATOS.LABEL.NUMERO_APOSTILAMENTO" ng-disabled="true"
  61 + ng-custom-maxlength="30" ng-model="eventoApostilamento.registroSequencial.sequencialAno" ng-mask="9999/9999" form="cnt_ev_apostilamentoForm"/>
62 </div><!-- .col --> 62 </div><!-- .col -->
63 <div class="col-sm-4"> 63 <div class="col-sm-4">
64 <label-input-data ng-id="eventoApostilamento.dataEmissao" ng-label="CONTRATOS.LABEL.DATA_EMISSAO_APOSTILAMENTO" ng-disabled="!edit || eventoApostilamento.id" 64 <label-input-data ng-id="eventoApostilamento.dataEmissao" ng-label="CONTRATOS.LABEL.DATA_EMISSAO_APOSTILAMENTO" ng-disabled="!edit || eventoApostilamento.id"
@@ -86,7 +86,7 @@ @@ -86,7 +86,7 @@
86 <div class="row"> 86 <div class="row">
87 <div class="col-sm-12"> 87 <div class="col-sm-12">
88 <div style="overflow-y:scroll; height: 300px; overflow-x: hidden;"> 88 <div style="overflow-y:scroll; height: 300px; overflow-x: hidden;">
89 - <componente-associar-documentos ng-documentos="eventoApostilamento.documentos" ng-edit="edit" ng-uploader="uploader" 89 + <componente-associar-documentos ng-documentos="eventoApostilamento.documentos" ng-edit="edit" ng-uploader="uploader"
90 ng-workspace="$parent.workspace" form="cnt_ev_apostilamentoForm"> 90 ng-workspace="$parent.workspace" form="cnt_ev_apostilamentoForm">
91 </componente-associar-documentos> 91 </componente-associar-documentos>
92 </div> 92 </div>