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 1 package br.com.centralit.api.dao;
2 2  
3   -import java.util.Calendar;
4   -
  3 +import br.com.centralit.api.model.EventoApostilamento;
5 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 9 import br.com.centralit.api.dao.EventoApostilamentoDao;
10 10 import br.com.centralit.api.model.EventoApostilamento;
11 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 32 }
34 33  
35 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 43 int anoInformado = dataEmissao.get(Calendar.YEAR);
39 44  
... ... @@ -56,10 +61,12 @@ public class EventoApostilamentoDaoHibernate extends CitGenericDAOImpl implement
56 61 search.addFilterEqual("organizacao.id", idOrganizacao);
57 62 search.addFilterGreaterOrEqual("dataEmissao", dataInicial);
58 63 search.addFilterLessOrEqual("dataEmissao", dataFinal);
  64 + if(contratoId != null){
  65 + search.addFilterEqual("contrato.id", contratoId);
  66 + }
59 67 search.addSortDesc(property);
60 68 search.setMaxResults(1);
61 69  
62 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 import com.googlecode.genericdao.search.Search;
8 8  
9 9 import br.com.centralit.api.dao.EventoRecebimentoObjetoDao;
10   -import br.com.centralit.api.dao.RegistroSequencialDaoInterface;
11 10 import br.com.centralit.api.model.EventoRecebimentoObjeto;
12 11 import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl;
13 12  
... ... @@ -33,7 +32,7 @@ import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl;
33 32 *
34 33 */
35 34 @Repository("eventoRecebimentoObjetoDao")
36   -public class EventoRecebimentoObjetoDaoHibernate extends CitGenericDAOImpl implements EventoRecebimentoObjetoDao, RegistroSequencialDaoInterface<EventoRecebimentoObjeto> {
  35 +public class EventoRecebimentoObjetoDaoHibernate extends CitGenericDAOImpl implements EventoRecebimentoObjetoDao {
37 36  
38 37 public EventoRecebimentoObjetoDaoHibernate() {
39 38 super(EventoRecebimentoObjeto.class);
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/service/EventoApostilamentoService.java
1 1 package br.com.centralit.api.service;
2 2  
3   -import java.io.InputStream;
4 3 import java.sql.Connection;
5 4  
6 5 import javax.servlet.http.HttpServletResponse;
7 6  
8   -import net.sf.jasperreports.engine.JRException;
9   -import net.sf.jasperreports.engine.JasperPrint;
10 7 import br.com.centralit.api.model.EventoApostilamento;
11 8 import br.com.centralit.framework.model.Usuario;
12 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 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 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 10 import br.com.centralit.framework.model.Usuario;
11 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 191 * @author ciro.junior (<a href="mailto:ciro.junior@centralit.com.br">ciro.junior@centralit.com.br</a>)
192 192 * @param entity
193 193 */
194   - private void gerarNumeroSequencial(EventoApostilamento entity) {
  194 + @Override
  195 + public void gerarNumeroSequencial(EventoApostilamento entity) {
195 196  
196 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 201 Long sequencial = null;
201 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  
15 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 17 import org.apache.commons.collections.CollectionUtils;
26 18 import org.apache.commons.lang3.StringUtils;
27 19 import org.apache.log4j.Logger;
... ... @@ -45,7 +37,6 @@ import br.com.centralit.api.service.EventoLiberacaoPagamentoService;
45 37 import br.com.centralit.api.service.EventoRecebimentoObjetoService;
46 38 import br.com.centralit.api.service.InternacionalizacaoService;
47 39 import br.com.centralit.api.service.ParceiroService;
48   -import br.com.centralit.api.service.RegistroSequencialInterface;
49 40 import br.com.centralit.api.service.UsuarioService;
50 41 import br.com.centralit.framework.controller.ReportController;
51 42 import br.com.centralit.framework.exception.BusinessException;
... ... @@ -55,6 +46,13 @@ import br.com.centralit.framework.service.arquitetura.GenericServiceImpl;
55 46 import br.com.centralit.framework.util.UtilColecao;
56 47 import br.com.centralit.framework.util.UtilDataBase;
57 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 88 *
91 89 */
92 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 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 1004 internacionalizacaoList.add(new Internacionalizacao("MSG.SELECIONE_UM_ITEM_PARA_GERAR_TERMO", "Selecione um item para gerar o termo", dominio, modulo));
1005 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 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 41 ng-model="eventoApostilamento.contrato.fornecedor.pessoa.nome"form="cnt_ev_apostilamentoForm" ng-obrigatorio="false" ng-custom-maxlength="50" />
42 42 </div><!-- .col -->
43 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 45 ng-model="eventoApostilamento.contrato.fornecedor.pessoa.pessoaJuridica.cnpj" ng-mask="99.999.999/9999-99" form="cnt_ev_apostilamentoForm" ng-disabled="true"/>
46 46 </div><!-- .col -->
47 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 49 form="cnt_ev_apostilamentoForm" ng-disabled="true"/>
50 50 </div><!-- .col -->
51 51 </div><!-- .row -->
... ... @@ -56,9 +56,9 @@
56 56 </div><!-- .col -->
57 57 </div><!-- .row -->
58 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 62 </div><!-- .col -->
63 63 <div class="col-sm-4">
64 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 86 <div class="row">
87 87 <div class="col-sm-12">
88 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 90 ng-workspace="$parent.workspace" form="cnt_ev_apostilamentoForm">
91 91 </componente-associar-documentos>
92 92 </div>
... ...