Commit 904009df58ca91b72149f8ff80260be737ee74b5

Authored by luis.camargo
2 parents 545c0fbc f3026af6
Exists in master

Merge branch 'ctr-pj-0001-sprint10' of http://ferramentasgo.centralit.com.br:808…

…0/scm/git/cit-grp-contratos into ctr-pj-0001-sprint10
Showing 54 changed files with 608 additions and 267 deletions   Show diff stats
.gitignore
... ... @@ -24,6 +24,7 @@ tmp/
24 24 local.properties
25 25 .settings/
26 26 .loadpath
  27 +*.tern-project
27 28  
28 29 # Eclipse Core
29 30 .project
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/dao/CronogramaExecucaoDao.java
... ... @@ -5,6 +5,6 @@ import br.com.centralit.framework.dao.arquitetura.CitGenericDAO;
5 5  
6 6 public interface CronogramaExecucaoDao extends CitGenericDAO {
7 7  
8   - CronogramaExecucao buscarUltimoRegistro(String property, Long idOrganizacao);
9   -
  8 + CronogramaExecucao buscarUltimoRegistroAno(String property, int ano, Long idOrganizacao);
  9 +
10 10 }
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/dao/EstudoTecnicoDao.java
... ... @@ -53,4 +53,6 @@ public interface EstudoTecnicoDao extends CitGenericDAO{
53 53 */
54 54 public Collection<EstudoTecnico> findAutoCompleteEstudoTecnicoPorCodigoAndOrganizacao(String codigo, Long idOrganizacao);
55 55  
  56 + EstudoTecnico buscarUltimoRegistroPorDataEmissao(int ano, Long idOrganizacao);
  57 +
56 58 }
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/dao/EventoLiberacaoPagamentoDao.java
... ... @@ -2,10 +2,13 @@ package br.com.centralit.api.dao;
2 2  
3 3 import java.math.BigDecimal;
4 4  
  5 +import br.com.centralit.api.model.EventoLiberacaoPagamento;
5 6 import br.com.centralit.framework.dao.arquitetura.CitGenericDAO;
6 7  
7 8 public interface EventoLiberacaoPagamentoDao extends CitGenericDAO {
8 9  
9 10 BigDecimal getValorTotalLiberado(Long contratoId);
10 11  
  12 + EventoLiberacaoPagamento buscarUltimoRegistroPorDataEmissaoPorContrato(String campoBuscaParametrizadaUltimoRegistro, String ano, Long idOrganizacao, Long idContrato);
  13 +
11 14 }
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/dao/EventoRepactuacaoDao.java
1 1 package br.com.centralit.api.dao;
2 2  
  3 +import br.com.centralit.api.model.EventoRepactuacao;
3 4 import br.com.centralit.framework.dao.arquitetura.CitGenericDAO;
4 5  
5 6 public interface EventoRepactuacaoDao extends CitGenericDAO {
6 7  
  8 + EventoRepactuacao buscarUltimoRegistroPorDataEmissaoPorContrato(String property, String ano, Long organizacaoId, Long contratoId);
  9 +
7 10 }
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/dao/EventoRescisaoContratoDao.java
1 1 package br.com.centralit.api.dao;
2 2  
  3 +import br.com.centralit.api.model.EventoRescisaoContrato;
3 4 import br.com.centralit.framework.dao.arquitetura.CitGenericDAO;
4 5  
5 6 /**
... ... @@ -25,4 +26,6 @@ import br.com.centralit.framework.dao.arquitetura.CitGenericDAO;
25 26 */
26 27 public interface EventoRescisaoContratoDao extends CitGenericDAO {
27 28  
  29 + EventoRescisaoContrato buscarUltimoRegistroPorDataEmissaoPorContrato(String property, String anoInformado, Long organizacaoId, Long contratoId);
  30 +
28 31 }
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/dao/impl/CronogramaExecucaoDaoHibernate.java
... ... @@ -16,7 +16,7 @@ public class CronogramaExecucaoDaoHibernate extends CitGenericDAOImpl implements
16 16 }
17 17  
18 18 @Override
19   - public CronogramaExecucao buscarUltimoRegistro(String property, Long idOrganizacao) {
  19 + public CronogramaExecucao buscarUltimoRegistroAno(String property, int ano, Long idOrganizacao) {
20 20  
21 21 Search search = new Search();
22 22 search.addFilterNotNull(property);
... ... @@ -26,5 +26,5 @@ public class CronogramaExecucaoDaoHibernate extends CitGenericDAOImpl implements
26 26 return searchUnique(search);
27 27 }
28 28  
29   -
  29 +
30 30 }
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/dao/impl/EstudoTecnicoDaoHibernate.java
1 1 package br.com.centralit.api.dao.impl;
2 2  
  3 +import java.util.Calendar;
3 4 import java.util.Collection;
4 5  
5 6 import org.springframework.stereotype.Repository;
... ... @@ -10,6 +11,7 @@ import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl;
10 11 import br.com.centralit.framework.dao.arquitetura.SearchSeven;
11 12  
12 13 import com.googlecode.genericdao.search.Filter;
  14 +import com.googlecode.genericdao.search.Search;
13 15 import com.googlecode.genericdao.search.Sort;
14 16  
15 17  
... ... @@ -64,11 +66,11 @@ public class EstudoTecnicoDaoHibernate extends CitGenericDAOImpl implements Estu
64 66  
65 67 SearchSeven search = new SearchSeven(this.persistentClass);
66 68  
67   - search.addFilterILike("codigo", "%" + codigo + "%");
  69 + search.addFilterILike("registroSequencial.sequencialAno", "%" + codigo + "%");
68 70  
69 71 search.addFilterEmpty("dataInativo");
70 72  
71   - search.addSort(Sort.asc("codigo"));
  73 + search.addSort(Sort.asc("registroSequencial.sequencialAno"));
72 74  
73 75 search.setMaxResults(10);
74 76  
... ... @@ -89,9 +91,9 @@ public class EstudoTecnicoDaoHibernate extends CitGenericDAOImpl implements Estu
89 91  
90 92 SearchSeven searchSeven = new SearchSeven(this.persistentClass);
91 93  
92   - searchSeven.addSort(Sort.asc("codigo"));
  94 + searchSeven.addSort(Sort.asc("registroSequencial.sequencialAno"));
93 95  
94   - searchSeven.addFilter(Filter.ilike("codigo", "%" + codigo + "%"));
  96 + searchSeven.addFilter(Filter.ilike("registroSequencial.sequencialAno", "%" + codigo + "%"));
95 97  
96 98 searchSeven.addFilterEqual("organizacao.id", idOrganizacao);
97 99  
... ... @@ -101,4 +103,33 @@ public class EstudoTecnicoDaoHibernate extends CitGenericDAOImpl implements Estu
101 103  
102 104 }
103 105  
  106 + @Override
  107 + public EstudoTecnico buscarUltimoRegistroPorDataEmissao(int ano, Long idOrganizacao) {
  108 + int anoInformado = ano;
  109 +
  110 + Calendar dataInicial = Calendar.getInstance();
  111 + dataInicial.set(anoInformado, Calendar.JANUARY, 1);
  112 + dataInicial.set(Calendar.HOUR_OF_DAY,00);
  113 + dataInicial.set(Calendar.MINUTE,00);
  114 + dataInicial.set(Calendar.SECOND,00);
  115 + dataInicial.set(Calendar.MILLISECOND,0);
  116 +
  117 + Calendar dataFinal = Calendar.getInstance();
  118 + dataFinal.set(anoInformado, Calendar.DECEMBER, 31);
  119 + dataFinal.set(Calendar.HOUR_OF_DAY,23);
  120 + dataFinal.set(Calendar.MINUTE,59);
  121 + dataFinal.set(Calendar.SECOND,59);
  122 + dataFinal.set(Calendar.MILLISECOND,999);
  123 +
  124 + Search search = new Search();
  125 + search.addFilterNotNull("registroSequencial.numeroSequencial");
  126 + search.addFilterEqual("organizacao.id", idOrganizacao);
  127 + search.addFilterGreaterOrEqual("dataCriacao", dataInicial);
  128 + search.addFilterLessOrEqual("dataCriacao", dataFinal);
  129 + search.addSortDesc("registroSequencial.numeroSequencial");
  130 + search.setMaxResults(1);
  131 +
  132 + return searchUnique(search);
  133 + }
  134 +
104 135 }
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/dao/impl/EventoLiberacaoPagamentoDaoHibernate.java
1 1 package br.com.centralit.api.dao.impl;
2 2  
3 3 import java.math.BigDecimal;
  4 +import java.util.Calendar;
4 5 import java.util.List;
5 6  
6 7 import org.springframework.stereotype.Repository;
... ... @@ -36,4 +37,36 @@ public class EventoLiberacaoPagamentoDaoHibernate extends CitGenericDAOImpl impl
36 37 return valorTotalLiberado;
37 38 }
38 39  
  40 + @Override
  41 + public EventoLiberacaoPagamento buscarUltimoRegistroPorDataEmissaoPorContrato(
  42 + String campoBuscaParametrizadaUltimoRegistro, String anoInformado,
  43 + Long organizacaoId, Long contratoId) {
  44 +
  45 + Calendar dataInicial = Calendar.getInstance();
  46 + dataInicial.set(Integer.valueOf(anoInformado), Calendar.JANUARY, 1);
  47 + dataInicial.set(Calendar.HOUR_OF_DAY, 00);
  48 + dataInicial.set(Calendar.MINUTE, 00);
  49 + dataInicial.set(Calendar.SECOND, 00);
  50 + dataInicial.set(Calendar.MILLISECOND, 0);
  51 +
  52 + Calendar dataFinal = Calendar.getInstance();
  53 + dataFinal.set(Integer.valueOf(anoInformado), Calendar.DECEMBER, 31);
  54 + dataFinal.set(Calendar.HOUR_OF_DAY, 23);
  55 + dataFinal.set(Calendar.MINUTE, 59);
  56 + dataFinal.set(Calendar.SECOND, 59);
  57 + dataFinal.set(Calendar.MILLISECOND, 999);
  58 +
  59 + Search search = new Search();
  60 + search.addFilterNotNull(campoBuscaParametrizadaUltimoRegistro);
  61 + search.addFilterEqual("organizacao.id", organizacaoId);
  62 + search.addFilterGreaterOrEqual("dataLiberacao", dataInicial);
  63 + search.addFilterLessOrEqual("dataLiberacao", dataFinal);
  64 + search.addFilterEqual("contrato.id", contratoId);
  65 + search.addSortDesc(campoBuscaParametrizadaUltimoRegistro);
  66 + search.setMaxResults(1);
  67 +
  68 + return searchUnique(search);
  69 + }
  70 +
  71 +
39 72 }
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/dao/impl/EventoRepactuacaoDaoHibernate.java
1 1 package br.com.centralit.api.dao.impl;
2 2  
  3 +import java.util.Calendar;
  4 +
3 5 import org.springframework.stereotype.Repository;
4 6  
5 7 import br.com.centralit.api.dao.EventoRepactuacaoDao;
6 8 import br.com.centralit.api.model.EventoRepactuacao;
7 9 import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl;
8 10  
  11 +import com.googlecode.genericdao.search.Search;
  12 +
9 13  
10 14 /**
11   - *
  15 + *
12 16 * <p><img src="http://centralit.com.br/images/logo_central.png"></p>
13 17 *
14 18 * <p><b>Company: </b> Central IT - Governança Corporativa - </p>
... ... @@ -16,11 +20,11 @@ import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl;
16 20 * <p><b>Title: </b></p>
17 21 *
18 22 * <p><b>Description: </b></p>
19   - *
  23 + *
20 24 * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p>
21 25 *
22   - * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>
23   - *
  26 + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>
  27 + *
24 28 * @since 09/03/2016 - 09:21:20
25 29 *
26 30 * @version 1.0.0
... ... @@ -35,4 +39,32 @@ public class EventoRepactuacaoDaoHibernate extends CitGenericDAOImpl implements
35 39 super(EventoRepactuacao.class);
36 40 }
37 41  
  42 + @Override
  43 + public EventoRepactuacao buscarUltimoRegistroPorDataEmissaoPorContrato(String property, String anoInformado, Long organizacaoId, Long contratoId) {
  44 + Calendar dataInicial = Calendar.getInstance();
  45 + dataInicial.set(Integer.valueOf(anoInformado), Calendar.JANUARY, 1);
  46 + dataInicial.set(Calendar.HOUR_OF_DAY, 00);
  47 + dataInicial.set(Calendar.MINUTE, 00);
  48 + dataInicial.set(Calendar.SECOND, 00);
  49 + dataInicial.set(Calendar.MILLISECOND, 0);
  50 +
  51 + Calendar dataFinal = Calendar.getInstance();
  52 + dataFinal.set(Integer.valueOf(anoInformado), Calendar.DECEMBER, 31);
  53 + dataFinal.set(Calendar.HOUR_OF_DAY, 23);
  54 + dataFinal.set(Calendar.MINUTE, 59);
  55 + dataFinal.set(Calendar.SECOND, 59);
  56 + dataFinal.set(Calendar.MILLISECOND, 999);
  57 +
  58 + Search search = new Search();
  59 + search.addFilterNotNull(property);
  60 + search.addFilterEqual("organizacao.id", organizacaoId);
  61 + search.addFilterGreaterOrEqual("dataRepactuacao", dataInicial);
  62 + search.addFilterLessOrEqual("dataRepactuacao", dataFinal);
  63 + search.addFilterEqual("contrato.id", contratoId);
  64 + search.addSortDesc(property);
  65 + search.setMaxResults(1);
  66 +
  67 + return searchUnique(search);
  68 + }
  69 +
38 70 }
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/dao/impl/EventoRescisaoContratoDaoHibernate.java
1 1 package br.com.centralit.api.dao.impl;
2 2  
  3 +import java.util.Calendar;
  4 +
3 5 import org.springframework.stereotype.Repository;
4 6  
5 7 import br.com.centralit.api.dao.EventoRescisaoContratoDao;
6 8 import br.com.centralit.api.model.EventoRescisaoContrato;
7 9 import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl;
8 10  
  11 +import com.googlecode.genericdao.search.Search;
  12 +
9 13 /**
10 14 *
11 15 * <p><img src="http://centralit.com.br/images/logo_central.png"></p>
... ... @@ -34,4 +38,33 @@ public class EventoRescisaoContratoDaoHibernate extends CitGenericDAOImpl implem
34 38 super(EventoRescisaoContrato.class);
35 39 }
36 40  
  41 + @Override
  42 + public EventoRescisaoContrato buscarUltimoRegistroPorDataEmissaoPorContrato(String property, String anoInformado, Long organizacaoId, Long contratoId) {
  43 +
  44 + Calendar dataInicial = Calendar.getInstance();
  45 + dataInicial.set(Integer.valueOf(anoInformado), Calendar.JANUARY, 1);
  46 + dataInicial.set(Calendar.HOUR_OF_DAY, 00);
  47 + dataInicial.set(Calendar.MINUTE, 00);
  48 + dataInicial.set(Calendar.SECOND, 00);
  49 + dataInicial.set(Calendar.MILLISECOND, 0);
  50 +
  51 + Calendar dataFinal = Calendar.getInstance();
  52 + dataFinal.set(Integer.valueOf(anoInformado), Calendar.DECEMBER, 31);
  53 + dataFinal.set(Calendar.HOUR_OF_DAY, 23);
  54 + dataFinal.set(Calendar.MINUTE, 59);
  55 + dataFinal.set(Calendar.SECOND, 59);
  56 + dataFinal.set(Calendar.MILLISECOND, 999);
  57 +
  58 + Search search = new Search();
  59 + search.addFilterNotNull(property);
  60 + search.addFilterEqual("organizacao.id", organizacaoId);
  61 + search.addFilterGreaterOrEqual("dataRescisao", dataInicial);
  62 + search.addFilterLessOrEqual("dataRescisao", dataFinal);
  63 + search.addFilterEqual("contrato.id", contratoId);
  64 + search.addSortDesc(property);
  65 + search.setMaxResults(1);
  66 +
  67 + return searchUnique(search);
  68 + }
  69 +
37 70 }
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/model/CronogramaExecucao.java
... ... @@ -30,7 +30,7 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
30 30 @Table(name="cnt_cronogramaexecucao")
31 31 public class CronogramaExecucao extends PersistentObjectAuditOrganizacao {
32 32  
33   -
  33 +
34 34 private static final long serialVersionUID = 4447061172675458262L;
35 35  
36 36 @Id
... ... @@ -38,10 +38,10 @@ public class CronogramaExecucao extends PersistentObjectAuditOrganizacao {
38 38 @JsonView({ Views.GenericView.class })
39 39 private Long id;
40 40  
41   - @Column(length = 9, nullable=false)
  41 + @Column(length = 10, nullable=false)
42 42 @JsonView({ ViewsContrato.CronogramaExecucaoEditView.class })
43 43 private String codigo;
44   -
  44 +
45 45 @ManyToOne(fetch = FetchType.LAZY, optional = false)
46 46 @JsonView({ ViewsContrato.CronogramaExecucaoEditView.class, ViewsContrato.ContratoAutoCompleteView.class })
47 47 private Contrato contrato;
... ... @@ -62,7 +62,7 @@ public class CronogramaExecucao extends PersistentObjectAuditOrganizacao {
62 62 @JsonDeserialize(using = MoneyDeserializer.class)
63 63 @JsonView({ ViewsContrato.CronogramaExecucaoEditView.class })
64 64 private BigDecimal valorTotal;
65   -
  65 +
66 66 @Override
67 67 public Long getId() {
68 68 return id;
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/model/EstudoTecnico.java
... ... @@ -5,6 +5,7 @@ import java.util.Collection;
5 5  
6 6 import javax.persistence.CascadeType;
7 7 import javax.persistence.Column;
  8 +import javax.persistence.Embedded;
8 9 import javax.persistence.Entity;
9 10 import javax.persistence.FetchType;
10 11 import javax.persistence.GeneratedValue;
... ... @@ -59,10 +60,9 @@ public class EstudoTecnico extends PersistentObjectAuditOrganizacao {
59 60 @JsonView({ Views.GenericView.class })
60 61 private Long id;
61 62  
62   - /** Atributo codigo. */
63   - @Column(length = 30, nullable=false)
64   - @JsonView({ ViewsContrato.EstudoTecnicoEditView.class, ViewsContrato.TermoReferenciaListView.class, ViewsContrato.EstudoTecnicoAutoCompleteView.class, ViewsContrato.ContratoEditView.class })
65   - private String codigo;
  63 + @Embedded
  64 + @JsonView({ ViewsContrato.EstudoTecnicoEditView.class, ViewsContrato.TermoReferenciaEditView.class, Views.GenericView.class })
  65 + private RegistroSequencial registroSequencial;
66 66  
67 67 /** Atributo numeroPortaria. */
68 68 @Column(length = 30, nullable=false)
... ... @@ -167,6 +167,16 @@ public class EstudoTecnico extends PersistentObjectAuditOrganizacao {
167 167 @JsonView({ ViewsContrato.EstudoTecnicoEditView.class })
168 168 private Collection<EstudoTecnicoDocumento> documentos;
169 169  
  170 + public RegistroSequencial getRegistroSequencial() {
  171 +
  172 + return registroSequencial;
  173 + }
  174 +
  175 + public void setRegistroOcorrenciaSequencial(RegistroSequencial registroSequencial) {
  176 +
  177 + this.registroSequencial = registroSequencial;
  178 + }
  179 +
170 180 /**
171 181 * Retorna o valor do atributo <code>id</code>
172 182 *
... ... @@ -189,26 +199,6 @@ public class EstudoTecnico extends PersistentObjectAuditOrganizacao {
189 199 }
190 200  
191 201 /**
192   - * Retorna o valor do atributo <code>codigo</code>
193   - *
194   - * @return <code>String</code>
195   - */
196   - public String getCodigo() {
197   -
198   - return codigo;
199   - }
200   -
201   - /**
202   - * Define o valor do atributo <code>codigo</code>.
203   - *
204   - * @param codigo
205   - */
206   - public void setCodigo(String codigo) {
207   -
208   - this.codigo = codigo;
209   - }
210   -
211   - /**
212 202 * Retorna o valor do atributo <code>numeroPortaria</code>
213 203 *
214 204 * @return <code>String</code>
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/model/EventoLiberacaoPagamento.java
... ... @@ -63,7 +63,7 @@ public class EventoLiberacaoPagamento extends ContratoEvento {
63 63 /** Atributo serialVersionUID. */
64 64 private static final long serialVersionUID = 1L;
65 65  
66   - @Column(length = 30, nullable = false, updatable = true, unique = true)
  66 + @Column(length = 30, nullable = false, updatable = true)
67 67 @JsonView({ ViewsContrato.EventoLiberacaoPagamentoView.class, Views.GenericView.class, ViewsContrato.EventoRecebimentoObjetoEditView.class })
68 68 private String numeroLiberacao;
69 69  
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/model/OrdemFornecimento.java
... ... @@ -61,7 +61,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize;
61 61 *
62 62 */
63 63 @Entity
64   -@Table(name="cnt_ordemfornecimento")
  64 +@Table(name = "cnt_ordemfornecimento")
65 65 public class OrdemFornecimento extends PersistentObjectAuditOrganizacao {
66 66  
67 67 /** Atributo serialVersionUID. */
... ... @@ -70,26 +70,30 @@ public class OrdemFornecimento extends PersistentObjectAuditOrganizacao {
70 70 /** Atributo id. */
71 71 @Id
72 72 @GeneratedValue(strategy = GenerationType.AUTO)
73   - @JsonView({ Views.GenericView.class, ViewsContrato.OrdemFornecimentoEditView.class })
  73 + @JsonView({ Views.GenericView.class,
  74 + ViewsContrato.OrdemFornecimentoEditView.class })
74 75 private Long id;
75 76  
76 77 /** Atributo numOrdemFornecimento. */
77   - @Column(nullable = false)
78   - @JsonView({ ViewsContrato.OrdemFornecimentoListView.class, ViewsContrato.RegistroOcorrenciaEditView.class, ViewsContrato.EventoLiberacaoPagamentoView.class })
79   - private Long numOrdemFornecimento;
  78 + @Column(name = "numOrdemFornecimento", length = 20, nullable = false)
  79 + @JsonView({ ViewsContrato.OrdemFornecimentoListView.class,
  80 + ViewsContrato.RegistroOcorrenciaEditView.class,
  81 + ViewsContrato.EventoLiberacaoPagamentoView.class })
  82 + private String numOrdemFornecimento;
80 83  
81 84 /** Atributo dataEmissao. */
82 85 @Column(nullable = false)
83 86 @Temporal(TemporalType.TIMESTAMP)
84 87 @JsonSerialize(using = JsonCalendarSimpleDateSerializer.class)
85 88 @JsonDeserialize(using = JsonCalendarSimpleDateDeserializer.class)
86   - @JsonView({ ViewsContrato.OrdemFornecimentoListView.class, ViewsContrato.EventoLiberacaoPagamentoView.class })
  89 + @JsonView({ ViewsContrato.OrdemFornecimentoListView.class,
  90 + ViewsContrato.EventoLiberacaoPagamentoView.class })
87 91 private Calendar dataEmissao;
88 92  
89 93 /** Atributo dominioSituacao. */
90 94 @ManyToOne(fetch = FetchType.EAGER, optional = true)
91   - @JsonView({ ViewsContrato.OrdemFornecimentoEditView.class })
92   - private Dominio dominioSituacao;
  95 + @JsonView({ ViewsContrato.OrdemFornecimentoEditView.class })
  96 + private Dominio dominioSituacao;
93 97  
94 98 /** Atributo contrato. */
95 99 @ManyToOne(fetch = FetchType.EAGER, optional = false)
... ... @@ -116,7 +120,6 @@ public class OrdemFornecimento extends PersistentObjectAuditOrganizacao {
116 120 @JsonView({ ViewsContrato.OrdemFornecimentoEditView.class })
117 121 private Collection<OrdemFornecimentoObservacao> observacoes;
118 122  
119   -
120 123 /**
121 124 * Retorna o valor do atributo <code>id</code>
122 125 *
... ... @@ -127,7 +130,6 @@ public class OrdemFornecimento extends PersistentObjectAuditOrganizacao {
127 130 return id;
128 131 }
129 132  
130   -
131 133 /**
132 134 * Define o valor do atributo <code>id</code>.
133 135 *
... ... @@ -138,29 +140,14 @@ public class OrdemFornecimento extends PersistentObjectAuditOrganizacao {
138 140 this.id = id;
139 141 }
140 142  
141   -
142   - /**
143   - * Retorna o valor do atributo <code>numOrdemFornecimento</code>
144   - *
145   - * @return <code>Long</code>
146   - */
147   - public Long getNumOrdemFornecimento() {
148   -
  143 + public String getNumOrdemFornecimento() {
149 144 return numOrdemFornecimento;
150 145 }
151 146  
152   -
153   - /**
154   - * Define o valor do atributo <code>numOrdemFornecimento</code>.
155   - *
156   - * @param numOrdemFornecimento
157   - */
158   - public void setNumOrdemFornecimento(Long numOrdemFornecimento) {
159   -
  147 + public void setNumOrdemFornecimento(String numOrdemFornecimento) {
160 148 this.numOrdemFornecimento = numOrdemFornecimento;
161 149 }
162 150  
163   -
164 151 /**
165 152 * Retorna o valor do atributo <code>dataEmissao</code>
166 153 *
... ... @@ -171,7 +158,6 @@ public class OrdemFornecimento extends PersistentObjectAuditOrganizacao {
171 158 return dataEmissao;
172 159 }
173 160  
174   -
175 161 /**
176 162 * Define o valor do atributo <code>dataEmissao</code>.
177 163 *
... ... @@ -182,7 +168,6 @@ public class OrdemFornecimento extends PersistentObjectAuditOrganizacao {
182 168 this.dataEmissao = dataEmissao;
183 169 }
184 170  
185   -
186 171 /**
187 172 * Retorna o valor do atributo <code>dominioSituacao</code>
188 173 *
... ... @@ -193,7 +178,6 @@ public class OrdemFornecimento extends PersistentObjectAuditOrganizacao {
193 178 return dominioSituacao;
194 179 }
195 180  
196   -
197 181 /**
198 182 * Define o valor do atributo <code>dominioSituacao</code>.
199 183 *
... ... @@ -204,7 +188,6 @@ public class OrdemFornecimento extends PersistentObjectAuditOrganizacao {
204 188 this.dominioSituacao = dominioSituacao;
205 189 }
206 190  
207   -
208 191 /**
209 192 * Retorna o valor do atributo <code>contrato</code>
210 193 *
... ... @@ -215,7 +198,6 @@ public class OrdemFornecimento extends PersistentObjectAuditOrganizacao {
215 198 return contrato;
216 199 }
217 200  
218   -
219 201 /**
220 202 * Define o valor do atributo <code>contrato</code>.
221 203 *
... ... @@ -226,7 +208,6 @@ public class OrdemFornecimento extends PersistentObjectAuditOrganizacao {
226 208 this.contrato = contrato;
227 209 }
228 210  
229   -
230 211 /**
231 212 * Retorna o valor do atributo <code>localPrestacaoServico</code>
232 213 *
... ... @@ -237,7 +218,6 @@ public class OrdemFornecimento extends PersistentObjectAuditOrganizacao {
237 218 return localPrestacaoServico;
238 219 }
239 220  
240   -
241 221 /**
242 222 * Define o valor do atributo <code>localPrestacaoServico</code>.
243 223 *
... ... @@ -248,7 +228,6 @@ public class OrdemFornecimento extends PersistentObjectAuditOrganizacao {
248 228 this.localPrestacaoServico = localPrestacaoServico;
249 229 }
250 230  
251   -
252 231 /**
253 232 * Retorna o valor do atributo <code>itensBensServicos</code>
254 233 *
... ... @@ -259,18 +238,17 @@ public class OrdemFornecimento extends PersistentObjectAuditOrganizacao {
259 238 return itensBensServicos;
260 239 }
261 240  
262   -
263 241 /**
264 242 * Define o valor do atributo <code>itensBensServicos</code>.
265 243 *
266 244 * @param itensBensServicos
267 245 */
268   - public void setItensBensServicos(Collection<OrdemFornecimentoItem> itensBensServicos) {
  246 + public void setItensBensServicos(
  247 + Collection<OrdemFornecimentoItem> itensBensServicos) {
269 248  
270 249 this.itensBensServicos = itensBensServicos;
271 250 }
272 251  
273   -
274 252 /**
275 253 * Retorna o valor do atributo <code>documentos</code>
276 254 *
... ... @@ -281,7 +259,6 @@ public class OrdemFornecimento extends PersistentObjectAuditOrganizacao {
281 259 return documentos;
282 260 }
283 261  
284   -
285 262 /**
286 263 * Define o valor do atributo <code>documentos</code>.
287 264 *
... ... @@ -292,7 +269,6 @@ public class OrdemFornecimento extends PersistentObjectAuditOrganizacao {
292 269 this.documentos = documentos;
293 270 }
294 271  
295   -
296 272 /**
297 273 * Retorna o valor do atributo <code>observacoes</code>
298 274 *
... ... @@ -303,13 +279,13 @@ public class OrdemFornecimento extends PersistentObjectAuditOrganizacao {
303 279 return observacoes;
304 280 }
305 281  
306   -
307 282 /**
308 283 * Define o valor do atributo <code>observacoes</code>.
309 284 *
310 285 * @param observacoes
311 286 */
312   - public void setObservacoes(Collection<OrdemFornecimentoObservacao> observacoes) {
  287 + public void setObservacoes(
  288 + Collection<OrdemFornecimentoObservacao> observacoes) {
313 289  
314 290 this.observacoes = observacoes;
315 291 }
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/service/impl/ContratoEmpenhoServiceImpl.java
... ... @@ -12,6 +12,14 @@ import java.util.Map;
12 12  
13 13 import javax.servlet.http.HttpServletResponse;
14 14  
  15 +import net.sf.jasperreports.engine.JRException;
  16 +import net.sf.jasperreports.engine.JasperCompileManager;
  17 +import net.sf.jasperreports.engine.JasperFillManager;
  18 +import net.sf.jasperreports.engine.JasperPrint;
  19 +import net.sf.jasperreports.engine.JasperReport;
  20 +import net.sf.jasperreports.engine.design.JasperDesign;
  21 +import net.sf.jasperreports.engine.xml.JRXmlLoader;
  22 +
15 23 import org.springframework.beans.factory.annotation.Autowired;
16 24 import org.springframework.security.core.context.SecurityContextHolder;
17 25 import org.springframework.stereotype.Service;
... ... @@ -38,13 +46,6 @@ import br.com.centralit.framework.util.UtilColecao;
38 46 import br.com.centralit.framework.util.UtilDataBase;
39 47 import br.com.centralit.framework.util.UtilDate;
40 48 import br.com.centralit.framework.util.UtilObjeto;
41   -import net.sf.jasperreports.engine.JRException;
42   -import net.sf.jasperreports.engine.JasperCompileManager;
43   -import net.sf.jasperreports.engine.JasperFillManager;
44   -import net.sf.jasperreports.engine.JasperPrint;
45   -import net.sf.jasperreports.engine.JasperReport;
46   -import net.sf.jasperreports.engine.design.JasperDesign;
47   -import net.sf.jasperreports.engine.xml.JRXmlLoader;
48 49  
49 50 /**
50 51 *
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/service/impl/CronogramaExecucaoServiceImpl.java
... ... @@ -49,6 +49,7 @@ import br.com.centralit.framework.model.Usuario;
49 49 import br.com.centralit.framework.service.arquitetura.GenericServiceImpl;
50 50 import br.com.centralit.framework.util.UtilColecao;
51 51 import br.com.centralit.framework.util.UtilDataBase;
  52 +import br.com.centralit.framework.util.UtilDate;
52 53 import br.com.centralit.framework.util.UtilObjeto;
53 54  
54 55 @Service("cronogramaExecucaoService")
... ... @@ -101,13 +102,11 @@ public class CronogramaExecucaoServiceImpl extends GenericServiceImpl&lt;Cronograma
101 102 public CronogramaExecucao save(CronogramaExecucao cronogramaExecucao) {
102 103  
103 104 validarEntidade(cronogramaExecucao, this.validator);
104   -
  105 +
105 106 configurarCodigo(cronogramaExecucao);
106   -
  107 +
107 108 montarObjetoCronograma(cronogramaExecucao);
108   -
109   - configurarCodigo(cronogramaExecucao);
110   -
  109 +
111 110 validarDataEntregaNaVigenciaContrato(cronogramaExecucao);
112 111  
113 112 validarValorTotalItensAcimaValorContrato(cronogramaExecucao);
... ... @@ -117,15 +116,15 @@ public class CronogramaExecucaoServiceImpl extends GenericServiceImpl&lt;Cronograma
117 116  
118 117 @Override
119 118 public CronogramaExecucao merge(CronogramaExecucao cronogramaExecucao) {
120   -
  119 +
121 120 validarEntidade(cronogramaExecucao, this.validator);
122   -
  121 +
123 122 montarObjetoCronograma(cronogramaExecucao);
124   -
  123 +
125 124 validarDataEntregaNaVigenciaContrato(cronogramaExecucao);
126   -
  125 +
127 126 validarValorTotalItensAcimaValorContrato(cronogramaExecucao);
128   -
  127 +
129 128 return (CronogramaExecucao) this.cronogramaExecucaoDao.merge(cronogramaExecucao);
130 129 }
131 130  
... ... @@ -133,7 +132,7 @@ public class CronogramaExecucaoServiceImpl extends GenericServiceImpl&lt;Cronograma
133 132 * Método responsável por gerar o relatório de cronograma de execução
134 133 *
135 134 * @author luis.camargo
136   - *
  135 + *
137 136 * @param idCronograma
138 137 * @param download
139 138 * @param response
... ... @@ -183,14 +182,14 @@ public class CronogramaExecucaoServiceImpl extends GenericServiceImpl&lt;Cronograma
183 182 } finally {
184 183 UtilDataBase.closeResources(conn, input, inputSub, baos);
185 184 }
186   - }
  185 + }
187 186 private void validarDataEntregaNaVigenciaContrato(CronogramaExecucao cronogramaExecucao) {
188 187 for (CronogramaExecucaoItem item : cronogramaExecucao.getItensCronogramaExecucao()) {
189 188 for (CronogramaExecucaoItemParcela parcela : item.getParcelas()) {
190   -
  189 +
191 190 boolean isBefore = parcela.getDataEntrega().before(cronogramaExecucao.getContrato().getDataVigenciaInicial());
192 191 boolean isAfter = parcela.getDataEntrega().after(cronogramaExecucao.getContrato().getDataUltimaVigenciaFinal());
193   -
  192 +
194 193 lancarBusinessException("CONTRATOS.VALIDACAO.DATA_ENTREGA_CRONOGRAMA_FORA_VIGENCIA", CodigoErro.REGRA_NEGOCIO.getValue(), (isBefore || isAfter));
195 194 }
196 195 }
... ... @@ -217,21 +216,23 @@ public class CronogramaExecucaoServiceImpl extends GenericServiceImpl&lt;Cronograma
217 216 * @param entity
218 217 */
219 218 private void configurarCodigo(CronogramaExecucao entity) {
220   -
  219 + Usuario usuarioLogado = (Usuario) usuarioService.find(( (Usuario) SecurityContextHolder.getContext().getAuthentication().getPrincipal() ).getId());
  220 + String ano = UtilDate.getAnoAtual();
  221 +
221 222 if (!UtilObjeto.isReferencia(entity.getOrganizacao())) {
222 223 entity.setOrganizacao(this.getUsuario().getOrganizacao());
223 224 }
224 225  
225   - CronogramaExecucao ultimoRegistro = (CronogramaExecucao) cronogramaExecucaoDao.buscarUltimoRegistro("codigo", entity.getOrganizacao().getId());
  226 + CronogramaExecucao ultimoRegistro = (CronogramaExecucao) cronogramaExecucaoDao.buscarUltimoAnoRegistroComOrdenadoParametrizada("codigo", ano, usuarioLogado.getOrganizacao().getId());
226 227  
227 228 Long sequencial = 0L;
228 229 if (UtilObjeto.isReferencia(ultimoRegistro)) {
229 230 sequencial = ultimoRegistro.getCodigo() == null ? 0 : Long.parseLong(ultimoRegistro.getCodigo().split("/")[0]);
230   - }
231   -
  231 + }
  232 +
232 233 Calendar calendar = Calendar.getInstance();
233 234 String anoAtual = String.valueOf(calendar.get(Calendar.YEAR));
234   - String codigo = StringUtils.leftPad((++sequencial).toString(), 4, "0");
  235 + String codigo = StringUtils.leftPad((++sequencial).toString(), 5, "0");
235 236  
236 237 entity.setCodigo(codigo.concat("/").concat(anoAtual));
237 238 }
... ... @@ -239,22 +240,22 @@ public class CronogramaExecucaoServiceImpl extends GenericServiceImpl&lt;Cronograma
239 240 private void montarObjetoCronograma(CronogramaExecucao cronogramaExecucao) {
240 241  
241 242 cronogramaExecucao.setContrato(contratoService.getReference(cronogramaExecucao.getContrato().getId()));
242   -
  243 +
243 244 // resolve os transients dos documentos e observacoes do cronograma
244 245 montarDocsObsCronograma(cronogramaExecucao);
245 246  
246 247 // cria vinculo do CronogramaExecucao com as CronogramaExecucaoItem
247 248 for (CronogramaExecucaoItem itemCronograma : cronogramaExecucao.getItensCronogramaExecucao()) {
248   -
  249 +
249 250 itemCronograma.setCronogramaExecucao(cronogramaExecucao);
250   -
  251 +
251 252 // cria vinculo do CronogramaExecucaoItem com as CronogramaExecucaoItemParcela
252 253 for (CronogramaExecucaoItemParcela parcela : itemCronograma.getParcelas()) {
253 254 parcela.setCronogramaExecucaoItem(itemCronograma);
254 255 }
255 256 }
256 257 }
257   -
  258 +
258 259 /**
259 260 * Método responsável por resolver os transients de documentos e observacoes
260 261 *
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/service/impl/EncerramentoContratoServiceImpl.java
... ... @@ -26,10 +26,11 @@ import br.com.centralit.api.service.UsuarioService;
26 26 import br.com.centralit.framework.model.Usuario;
27 27 import br.com.centralit.framework.service.arquitetura.GenericServiceImpl;
28 28 import br.com.centralit.framework.util.UtilColecao;
  29 +import br.com.centralit.framework.util.UtilDate;
29 30 import br.com.centralit.framework.util.UtilObjeto;
30 31  
31 32 /**
32   - *
  33 + *
33 34 * <p><img src="http://centralit.com.br/images/logo_central.png"></p>
34 35 *
35 36 * <p><b>Company: </b> Central IT - Governança Corporativa - </p>
... ... @@ -37,11 +38,11 @@ import br.com.centralit.framework.util.UtilObjeto;
37 38 * <p><b>Title: </b></p>
38 39 *
39 40 * <p><b>Description: </b></p>
40   - *
  41 + *
41 42 * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p>
42 43 *
43   - * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>
44   - *
  44 + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>
  45 + *
45 46 * @since 24/02/2016 - 15:51:45
46 47 *
47 48 * @version 1.0.0
... ... @@ -54,22 +55,22 @@ public class EncerramentoContratoServiceImpl extends GenericServiceImpl&lt;Encerram
54 55  
55 56 /** Atributo contratoDao. */
56 57 private EncerramentoContratoDao encerramentoContratoDao;
57   -
  58 +
58 59 @Autowired
59 60 private ContratoService contratoService;
60   -
  61 +
61 62 @Autowired
62 63 private OrganizacaoService organizacaoService;
63   -
  64 +
64 65 @Autowired
65 66 private UsuarioService usuarioService;
66   -
  67 +
67 68 @Autowired
68 69 private DominioService dominioService;
69   -
  70 +
70 71 @Autowired
71 72 private ParceiroService parceiroService;
72   -
  73 +
73 74 @Autowired
74 75 private AnexoService anexoService;
75 76  
... ... @@ -87,7 +88,7 @@ public class EncerramentoContratoServiceImpl extends GenericServiceImpl&lt;Encerram
87 88  
88 89 this.validator = validator;
89 90 }
90   -
  91 +
91 92 /**
92 93 * {@inheritDoc}
93 94 */
... ... @@ -95,15 +96,15 @@ public class EncerramentoContratoServiceImpl extends GenericServiceImpl&lt;Encerram
95 96 public EncerramentoContrato save(EncerramentoContrato encerramentoContrato) {
96 97  
97 98 this.montarObjeto(encerramentoContrato);
98   -
  99 +
99 100 configurarNumeroTermo(encerramentoContrato);;
100   -
  101 +
101 102 if (!UtilObjeto.isReferencia(encerramentoContrato.getNumTermo()) && UtilObjeto.isReferencia(encerramentoContrato.getDataEmissao())) {
102 103 encerramentoContrato.setNumTermo(this.geraNumeroTermo(encerramentoContrato.getDataEmissao()));
103 104 }
104   -
  105 +
105 106 this.validarEntidade(encerramentoContrato, this.validator);
106   -
  107 +
107 108 return super.save(encerramentoContrato);
108 109 }
109 110  
... ... @@ -114,18 +115,18 @@ public class EncerramentoContratoServiceImpl extends GenericServiceImpl&lt;Encerram
114 115 public EncerramentoContrato merge(EncerramentoContrato encerramentoContrato) {
115 116  
116 117 this.montarObjeto(encerramentoContrato);
117   -
  118 +
118 119 this.validarEntidade(encerramentoContrato, this.validator);
119 120  
120 121 return super.save(encerramentoContrato);
121 122  
122 123 }
123   -
  124 +
124 125 /**
125   - *
  126 + *
126 127 * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p>
127 128 *
128   - * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>
  129 + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>
129 130 *
130 131 * Método responsável por
131 132 *
... ... @@ -145,9 +146,9 @@ public class EncerramentoContratoServiceImpl extends GenericServiceImpl&lt;Encerram
145 146 if (UtilObjeto.isReferencia(encerramentoContrato.getContratante())) {
146 147 encerramentoContrato.setContratante(this.organizacaoService.find(encerramentoContrato.getContratante().getId()));
147 148 }
148   -
  149 +
149 150 }
150   -
  151 +
151 152 /**
152 153 * Método responsável por resolver os transients de documentos e observacoes
153 154 *
... ... @@ -227,19 +228,18 @@ public class EncerramentoContratoServiceImpl extends GenericServiceImpl&lt;Encerram
227 228 * @param entity
228 229 */
229 230 private void configurarNumeroTermo(EncerramentoContrato entity) {
230   -
231   - EncerramentoContrato ultimoRegistro = (EncerramentoContrato) encerramentoContratoDao.buscarUltimoRegistroComOrdenadoParametrizada("numTermo");
232 231  
233   - Long sequencial = 0L;
  232 + String ano = UtilDate.getAnoAtual();
  233 + EncerramentoContrato ultimoRegistro = (EncerramentoContrato) encerramentoContratoDao.buscarUltimoAnoRegistroComOrdenadoParametrizada("numTermo", ano, null);
  234 + Long sequencial = null;
  235 +
234 236 if (UtilObjeto.isReferencia(ultimoRegistro)) {
235   - sequencial = ultimoRegistro.getNumTermo() == null ? 0 : Long.parseLong(ultimoRegistro.getNumTermo().substring(0, 4));
236   - }
237   -
238   - Calendar calendar = Calendar.getInstance();
239   - String anoAtual = String.valueOf(calendar.get(Calendar.YEAR));
240   - String codigo = StringUtils.leftPad((++sequencial).toString(), 4, "0");
241   -
242   - entity.setNumTermo(codigo.concat(anoAtual));
  237 + sequencial = ultimoRegistro.getNumTermo().replace(ano, "") == null ? null : Long.parseLong(ultimoRegistro.getNumTermo().replace(ano, "") );
  238 + }else{
  239 + sequencial = 0l;
  240 + }
  241 +
  242 + entity.setNumTermo(StringUtils.leftPad((Long.valueOf(sequencial + 1)).toString(), 5, "0") + ano);
243 243 }
244 244  
245 245 }
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/service/impl/EstudoTecnicoServiceImpl.java
1 1 package br.com.centralit.api.service.impl;
2 2  
3 3 import java.util.ArrayList;
  4 +import java.util.Calendar;
4 5 import java.util.Collection;
5 6 import java.util.HashMap;
6 7 import java.util.List;
7 8 import java.util.Map;
8 9  
  10 +import org.apache.commons.lang3.StringUtils;
9 11 import org.springframework.beans.factory.annotation.Autowired;
10 12 import org.springframework.beans.factory.annotation.Qualifier;
11 13 import org.springframework.security.core.context.SecurityContextHolder;
... ... @@ -28,6 +30,7 @@ import br.com.centralit.api.model.EstudoTecnicoRequisitoNegocio;
28 30 import br.com.centralit.api.model.Fornecedor;
29 31 import br.com.centralit.api.model.OrgaoExterno;
30 32 import br.com.centralit.api.model.QuestionarioPergunta;
  33 +import br.com.centralit.api.model.RegistroSequencial;
31 34 import br.com.centralit.api.service.AnexoService;
32 35 import br.com.centralit.api.service.ColaboradorService;
33 36 import br.com.centralit.api.service.ConfiguracaoParametroSistemaService;
... ... @@ -148,7 +151,7 @@ public class EstudoTecnicoServiceImpl extends GenericServiceImpl&lt;EstudoTecnico,
148 151 this.montarObjetoEstudoTecnico(estudoTecnico);
149 152  
150 153 // verifica se tem codigo, senao gera e salva entidade
151   - if (UtilObjeto.isReferencia(estudoTecnico.getCodigo())) {
  154 + if (UtilObjeto.isReferencia(estudoTecnico.getRegistroSequencial())) {
152 155  
153 156 return super.save(estudoTecnico);
154 157  
... ... @@ -183,7 +186,7 @@ public class EstudoTecnicoServiceImpl extends GenericServiceImpl&lt;EstudoTecnico,
183 186 this.montarObjetoEstudoTecnico(estudoTecnico);
184 187  
185 188 // verifica se tem codigo, senao gera e salva entidade
186   - if (UtilObjeto.isReferencia(estudoTecnico.getCodigo())) {
  189 + if (UtilObjeto.isReferencia(estudoTecnico.getRegistroSequencial())) {
187 190  
188 191 return super.save(estudoTecnico);
189 192  
... ... @@ -397,17 +400,22 @@ public class EstudoTecnicoServiceImpl extends GenericServiceImpl&lt;EstudoTecnico,
397 400 */
398 401 private void configurarCodigo(EstudoTecnico entitySaved) {
399 402  
400   - EstudoTecnico ultimoRegistro = (EstudoTecnico) this.estudoTecnicoDao.buscarUltimoRegistroComOrdenadoParametrizada(CAMPO_BUSCA_PARAMETRIZADA_ULTIMO_REGISTRO);
  403 + Usuario usuarioLogado = (Usuario) usuarioService.find(( (Usuario) SecurityContextHolder.getContext().getAuthentication().getPrincipal() ).getId());
  404 + Calendar date = Calendar.getInstance();
  405 + EstudoTecnico ultimoRegistro = (EstudoTecnico) estudoTecnicoDao.buscarUltimoRegistroPorDataEmissao(date.get(Calendar.YEAR), usuarioLogado.getOrganizacao().getId());
401 406  
402 407 Long sequencial = null;
403   -
404   - if (UtilObjeto.isReferencia(ultimoRegistro)) {
405   - sequencial = ultimoRegistro.getCodigo() == null ? null : Long.parseLong(ultimoRegistro.getCodigo());
  408 + if (ultimoRegistro != null) {
  409 + sequencial = ultimoRegistro.getRegistroSequencial().getNumeroSequencial() == null ? null : ultimoRegistro.getRegistroSequencial().getNumeroSequencial();
406 410 }
407   -
408   - String codigo = this.configuracaoParametroSistemaService.gerarNumeroIdentificacaoSeguencial(sequencial);
409   -
410   - entitySaved.setCodigo(codigo);
  411 + if (sequencial != null){
  412 + sequencial++;
  413 + } else {
  414 + sequencial = 1l;
  415 + }
  416 + String numeroAnoOcorrencia = StringUtils.leftPad(sequencial.toString() + date.get(Calendar.YEAR), 9, "0");
  417 + RegistroSequencial registroSequencial = new RegistroSequencial(sequencial, numeroAnoOcorrencia);
  418 + entitySaved.setRegistroOcorrenciaSequencial(registroSequencial);
411 419 }
412 420  
413 421 @Override
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/service/impl/EventoAditivoServiceImpl.java
... ... @@ -120,7 +120,7 @@ public class EventoAditivoServiceImpl extends GenericServiceImpl&lt;EventoAditivo,
120 120 } else {
121 121 sequencial = 1l;
122 122 }
123   - DecimalFormat sequencialFormatado = new DecimalFormat("0000");
  123 + DecimalFormat sequencialFormatado = new DecimalFormat("00000");
124 124 String sequencialAno = sequencialFormatado.format(sequencial) + entity.getDataEmissao().get(Calendar.YEAR);
125 125 RegistroSequencial registroSequencial = new RegistroSequencial(sequencial, sequencialAno);
126 126 entity.setRegistroSequencial(registroSequencial);
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/service/impl/EventoApostilamentoServiceImpl.java
... ... @@ -207,7 +207,7 @@ public class EventoApostilamentoServiceImpl extends GenericServiceImpl&lt;EventoApo
207 207 } else {
208 208 sequencial = 1l;
209 209 }
210   - DecimalFormat sequencialFormatado = new DecimalFormat("0000");
  210 + DecimalFormat sequencialFormatado = new DecimalFormat("00000");
211 211 String sequencialAno = sequencialFormatado.format(sequencial) + entity.getDataEmissao().get(Calendar.YEAR);
212 212 RegistroSequencial registroSequencial = new RegistroSequencial(sequencial, sequencialAno);
213 213 entity.setRegistroSequencial(registroSequencial);
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/service/impl/EventoLiberacaoPagamentoServiceImpl.java
... ... @@ -4,6 +4,7 @@ import java.io.InputStream;
4 4 import java.math.BigDecimal;
5 5 import java.sql.Connection;
6 6 import java.util.ArrayList;
  7 +import java.util.Calendar;
7 8 import java.util.Date;
8 9 import java.util.HashMap;
9 10 import java.util.List;
... ... @@ -17,6 +18,7 @@ import net.sf.jasperreports.engine.JasperReport;
17 18 import net.sf.jasperreports.engine.design.JasperDesign;
18 19 import net.sf.jasperreports.engine.xml.JRXmlLoader;
19 20  
  21 +import org.apache.commons.lang3.StringUtils;
20 22 import org.springframework.beans.factory.annotation.Autowired;
21 23 import org.springframework.beans.factory.annotation.Qualifier;
22 24 import org.springframework.security.core.context.SecurityContextHolder;
... ... @@ -121,8 +123,11 @@ public class EventoLiberacaoPagamentoServiceImpl extends GenericServiceImpl&lt;Even
121 123 }
122 124  
123 125 Dominio idioma = this.dominioService.findByChaveAndCodigo("tipoIdioma", Dominio.TIPO_IDIOMA_PT_BR_CODIGO);
  126 + Integer ano = liberacaoPagamento.getDataLiberacao().get(Calendar.YEAR);
  127 + String[] numeroLiberacaoMask = liberacaoPagamento.getNumeroLiberacao().split(ano.toString());
  128 +
124 129 String descricaoEmpenho = this.internacionalizacaoService.getTranslate("LIBERACAO_PAGAMENTO.DESCRICAO_EVENTO", idioma);
125   - descricaoEmpenho = descricaoEmpenho.replace("{numeroLiberacaoPagamento}", liberacaoPagamento.getNumeroLiberacao());
  130 + descricaoEmpenho = descricaoEmpenho.replace("{numeroLiberacaoPagamento}", numeroLiberacaoMask.length > 0 ? numeroLiberacaoMask[0] + "/" + ano : liberacaoPagamento.getNumeroLiberacao());
126 131 descricaoEmpenho = descricaoEmpenho.replace("{valor}", Util.convertBigDecimalToString(liberacaoPagamento.getTotalLiberadoPagamento()));
127 132 descricaoEmpenho = descricaoEmpenho.replace("{data}", UtilDate.formatarData(liberacaoPagamento.getDataLiberacao().getTime(), "dd/MM/yyyy"));
128 133  
... ... @@ -200,18 +205,18 @@ public class EventoLiberacaoPagamentoServiceImpl extends GenericServiceImpl&lt;Even
200 205 }
201 206  
202 207 private void configurarCodigo(EventoLiberacaoPagamento entitySaved) {
203   -
204   - EventoLiberacaoPagamento ultimoRegistro = (EventoLiberacaoPagamento) this.dao.buscarUltimoRegistroComOrdenadoParametrizada(CAMPO_BUSCA_PARAMETRIZADA_ULTIMO_REGISTRO);
205   -
  208 + Integer ano = entitySaved.getDataLiberacao().get(Calendar.YEAR);
  209 + Usuario usuarioLogado = (Usuario) usuarioService.find(( (Usuario) SecurityContextHolder.getContext().getAuthentication().getPrincipal() ).getId());
  210 + EventoLiberacaoPagamento ultimoRegistro = (EventoLiberacaoPagamento) this.liberacaoPagamentoDao.buscarUltimoRegistroPorDataEmissaoPorContrato(CAMPO_BUSCA_PARAMETRIZADA_ULTIMO_REGISTRO, ano.toString(), usuarioLogado.getOrganizacao().getId(), entitySaved.getContrato().getId());
206 211 Long sequencial = null;
207 212  
208 213 if (UtilObjeto.isReferencia(ultimoRegistro)) {
209   - sequencial = ultimoRegistro.getNumeroLiberacao() == null ? null : Long.parseLong(ultimoRegistro.getNumeroLiberacao());
  214 + sequencial = ultimoRegistro.getNumeroLiberacao().replace(ano.toString(), "") == null ? null : Long.parseLong(ultimoRegistro.getNumeroLiberacao().replace(ano.toString(), "") );
  215 + }else{
  216 + sequencial = 0l;
210 217 }
211 218  
212   - String codigo = this.configuracaoParametroSistemaService.gerarNumeroIdentificacaoSeguencial(sequencial);
213   -
214   - entitySaved.setNumeroLiberacao(codigo);
  219 + entitySaved.setNumeroLiberacao(StringUtils.leftPad((Long.valueOf(sequencial + 1)).toString(), 5, "0") + ano);
215 220 }
216 221  
217 222 @Override
... ... @@ -220,7 +225,7 @@ public class EventoLiberacaoPagamentoServiceImpl extends GenericServiceImpl&lt;Even
220 225 }
221 226  
222 227 @Override
223   - public JasperPrint getJasperPrintRelatorioLiberacaoPagamento(Long idContrato, Date dataInicial, Date dataFinal,
  228 + public JasperPrint getJasperPrintRelatorioLiberacaoPagamento(Long idContrato, Date dataInicial, Date dataFinal,
224 229 Connection conn, Usuario usuarioLogado, String titulo) throws JRException {
225 230  
226 231 InputStream inputSub = null;
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/service/impl/EventoRepactuacaoServiceImpl.java
... ... @@ -3,6 +3,7 @@ package br.com.centralit.api.service.impl;
3 3 import java.io.InputStream;
4 4 import java.sql.Connection;
5 5 import java.text.SimpleDateFormat;
  6 +import java.util.Calendar;
6 7 import java.util.Collection;
7 8 import java.util.Date;
8 9 import java.util.HashMap;
... ... @@ -17,8 +18,10 @@ import net.sf.jasperreports.engine.design.JasperDesign;
17 18 import net.sf.jasperreports.engine.xml.JRXmlLoader;
18 19  
19 20 import org.apache.commons.collections.CollectionUtils;
  21 +import org.apache.commons.lang.StringUtils;
20 22 import org.springframework.beans.factory.annotation.Autowired;
21 23 import org.springframework.beans.factory.annotation.Qualifier;
  24 +import org.springframework.security.core.context.SecurityContextHolder;
22 25 import org.springframework.stereotype.Service;
23 26 import org.springframework.validation.Validator;
24 27  
... ... @@ -38,6 +41,8 @@ import br.com.centralit.framework.model.Dominio;
38 41 import br.com.centralit.framework.model.Usuario;
39 42 import br.com.centralit.framework.service.arquitetura.GenericServiceImpl;
40 43 import br.com.centralit.framework.util.UtilDataBase;
  44 +import br.com.centralit.framework.util.UtilDate;
  45 +import br.com.centralit.framework.util.UtilObjeto;
41 46  
42 47  
43 48 /**
... ... @@ -96,8 +101,8 @@ public class EventoRepactuacaoServiceImpl extends GenericServiceImpl&lt;EventoRepac
96 101 @Override
97 102 public EventoRepactuacao save(EventoRepactuacao eventoRepactuacao) {
98 103  
  104 + configurarCodigo(eventoRepactuacao);
99 105 montarObjeto(eventoRepactuacao);
100   -
101 106 this.validarEntidade(eventoRepactuacao, this.validator);
102 107  
103 108 return super.save(eventoRepactuacao);
... ... @@ -112,9 +117,11 @@ public class EventoRepactuacaoServiceImpl extends GenericServiceImpl&lt;EventoRepac
112 117 eventoRepactuacao.setRegistroOcorrencia(this.registroOcorrenciaService.find(eventoRepactuacao.getRegistroOcorrencia().getId()));
113 118  
114 119 SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
  120 + Integer ano = eventoRepactuacao.getDataRepactuacao().get(Calendar.YEAR);
  121 + String[] numeroMask = eventoRepactuacao.getNumeroRepactuacao().split(ano.toString());
115 122  
116 123 String descricao = internacionalizacaoService.getTranslate("CONTRATOS.MSG.DESCRICAO_EVENTO_REPACTUACAO", this.getIdioma());
117   - descricao = String.format(descricao, eventoRepactuacao.getNumeroRepactuacao(), sdf.format(eventoRepactuacao.getDataRepactuacao().getTime()));
  124 + descricao = String.format(descricao, numeroMask.length > 0 ? numeroMask[0] + "/" + ano : eventoRepactuacao.getNumeroRepactuacao(), sdf.format(eventoRepactuacao.getDataRepactuacao().getTime()));
118 125 eventoRepactuacao.setDescricao(descricao);
119 126 eventoRepactuacao.setContrato(this.contratoService.getReference(eventoRepactuacao.getContrato().getId()));
120 127 eventoRepactuacao.setDataEvento(eventoRepactuacao.getDataRepactuacao());
... ... @@ -221,4 +228,18 @@ public class EventoRepactuacaoServiceImpl extends GenericServiceImpl&lt;EventoRepac
221 228 }
222 229 }
223 230  
  231 + private void configurarCodigo(EventoRepactuacao entitySaved) {
  232 + Usuario usuarioLogado = (Usuario) usuarioService.find(( (Usuario) SecurityContextHolder.getContext().getAuthentication().getPrincipal() ).getId());
  233 + Integer ano = entitySaved.getDataRepactuacao().get(Calendar.YEAR);
  234 + EventoRepactuacao ultimoRegistro = (EventoRepactuacao) this.eventoRepactuacaoDao.buscarUltimoRegistroPorDataEmissaoPorContrato("numeroRepactuacao", ano.toString(), usuarioLogado.getOrganizacao().getId(), entitySaved.getContrato().getId());
  235 + Long sequencial = null;
  236 +
  237 + if (UtilObjeto.isReferencia(ultimoRegistro)) {
  238 + sequencial = ultimoRegistro.getNumeroRepactuacao().replace(ano.toString(), "") == null ? null : Long.parseLong(ultimoRegistro.getNumeroRepactuacao().replace(ano.toString(), "") );
  239 + }else{
  240 + sequencial = 0l;
  241 + }
  242 +
  243 + entitySaved.setNumeroRepactuacao(StringUtils.leftPad((Long.valueOf(sequencial + 1)).toString(), 5, "0") + ano);
  244 + }
224 245 }
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/service/impl/EventoRescisaoContratoServiceImpl.java
... ... @@ -5,6 +5,7 @@ import java.io.InputStream;
5 5 import java.sql.Connection;
6 6 import java.text.SimpleDateFormat;
7 7 import java.util.ArrayList;
  8 +import java.util.Calendar;
8 9 import java.util.Date;
9 10 import java.util.HashMap;
10 11 import java.util.List;
... ... @@ -20,6 +21,7 @@ import net.sf.jasperreports.engine.JasperReport;
20 21 import net.sf.jasperreports.engine.design.JasperDesign;
21 22 import net.sf.jasperreports.engine.xml.JRXmlLoader;
22 23  
  24 +import org.apache.commons.lang.StringUtils;
23 25 import org.springframework.beans.factory.annotation.Autowired;
24 26 import org.springframework.beans.factory.annotation.Qualifier;
25 27 import org.springframework.security.core.context.SecurityContextHolder;
... ... @@ -48,6 +50,7 @@ import br.com.centralit.framework.service.arquitetura.GenericServiceImpl;
48 50 import br.com.centralit.framework.util.Util;
49 51 import br.com.centralit.framework.util.UtilColecao;
50 52 import br.com.centralit.framework.util.UtilDataBase;
  53 +import br.com.centralit.framework.util.UtilDate;
51 54 import br.com.centralit.framework.util.UtilObjeto;
52 55  
53 56 /**
... ... @@ -110,18 +113,21 @@ public class EventoRescisaoContratoServiceImpl extends GenericServiceImpl&lt;Evento
110 113  
111 114 Contrato contrato = this.contratoService.find(entity.getContrato().getId());
112 115 entity.setContrato(contrato);
  116 + configurarCodigo(entity);
113 117 this.validarEntidade(entity, this.validator);
114 118 alteraStatusContratoParaRescindido(contrato);
115 119 entity.setDataEvento(entity.getDataRescisao());
116 120 String descricao = "";
117 121 SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
118 122 String date = sdf.format(new Date());
  123 + Integer ano = entity.getDataRescisao().get(Calendar.YEAR);
  124 + String[] numeroMask = entity.getNumeroRescisao().split(ano.toString());
119 125 if(entity.getDevolucaoValor()){
120 126 descricao = this.internacionalizacaoService.getTranslate("CONTRATOS.MSG.DESCRICAO_EVENTO_RESCISAO_CONTRATO_COM_DEVOLUCAO_VALOR", this.getIdioma());
121   - entity.setDescricao(String.format(descricao, entity.getNumeroRescisao(), date, Util.convertBigDecimalToString(entity.getValorADevolver())));
  127 + entity.setDescricao(String.format(descricao, numeroMask.length > 0 ? numeroMask[0] + "/" + ano : entity.getNumeroRescisao(), date, Util.convertBigDecimalToString(entity.getValorADevolver())));
122 128 }else{
123 129 descricao = this.internacionalizacaoService.getTranslate("CONTRATOS.MSG.DESCRICAO_EVENTO_RESCISAO_CONTRATO_SEM_DEVOLUCAO_VALOR", this.getIdioma());
124   - entity.setDescricao(String.format(descricao, entity.getNumeroRescisao(), date));
  130 + entity.setDescricao(String.format(descricao, numeroMask.length > 0 ? numeroMask[0] + "/" + ano : entity.getNumeroRescisao(), date));
125 131 }
126 132 entity.setTipoEvento(this.dominioService.findByChaveAndCodigo(DominioContrato.TIPO_EVENTO_CONTRATO, DominioContrato.TIPO_EVENTO_RESCISAO));
127 133  
... ... @@ -237,4 +243,20 @@ public class EventoRescisaoContratoServiceImpl extends GenericServiceImpl&lt;Evento
237 243 UtilDataBase.closeResources(inputSub);
238 244 }
239 245 }
  246 +
  247 + private void configurarCodigo(EventoRescisaoContrato entitySaved) {
  248 + Usuario usuarioLogado = (Usuario) usuarioService.find(( (Usuario) SecurityContextHolder.getContext().getAuthentication().getPrincipal() ).getId());
  249 + Integer ano = entitySaved.getDataRescisao().get(Calendar.YEAR);
  250 + EventoRescisaoContrato ultimoRegistro = (EventoRescisaoContrato) this.eventoRescisaoContratoDao.buscarUltimoRegistroPorDataEmissaoPorContrato("numeroRescisao", ano.toString(), usuarioLogado.getOrganizacao().getId(), entitySaved.getContrato().getId());
  251 +
  252 + Long sequencial = null;
  253 +
  254 + if (UtilObjeto.isReferencia(ultimoRegistro)) {
  255 + sequencial = ultimoRegistro.getNumeroRescisao().replace(ano.toString(), "") == null ? null : Long.parseLong(ultimoRegistro.getNumeroRescisao().replace(ano.toString(), "") );
  256 + }else{
  257 + sequencial = 0l;
  258 + }
  259 +
  260 + entitySaved.setNumeroRescisao(StringUtils.leftPad((Long.valueOf(sequencial + 1)).toString(), 5, "0") + ano);
  261 + }
240 262 }
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/service/impl/NotificacaoContratoServiceImpl.java
... ... @@ -158,7 +158,7 @@ public class NotificacaoContratoServiceImpl extends GenericServiceImpl&lt;Notificac
158 158 UtilDataBase.closeResources(conn, input, inputSub, baos);
159 159 }
160 160 }
161   -
  161 +
162 162 private void montarNotificacaoContrato(NotificacaoContrato notificacaoContrato) {
163 163 this.montarDocsObsNotificacaoContrato(notificacaoContrato);
164 164 atualizaOcorrenciaComNotificacao(notificacaoContrato);
... ... @@ -231,9 +231,9 @@ public class NotificacaoContratoServiceImpl extends GenericServiceImpl&lt;Notificac
231 231 }
232 232  
233 233 private void configurarCodigo(NotificacaoContrato entitySaved) {
234   -
  234 + Usuario usuarioLogado = (Usuario) usuarioService.find(( (Usuario) SecurityContextHolder.getContext().getAuthentication().getPrincipal() ).getId());
235 235 String ano = UtilDate.getAnoAtual();
236   - NotificacaoContrato ultimoRegistro = (NotificacaoContrato) this.notificacaoContratoDao.buscarUltimoAnoRegistroComOrdenadoParametrizada(CAMPO_BUSCA_PARAMETRIZADA_ULTIMO_REGISTRO, ano);
  236 + NotificacaoContrato ultimoRegistro = (NotificacaoContrato) this.notificacaoContratoDao.buscarUltimoAnoRegistroComOrdenadoParametrizada(CAMPO_BUSCA_PARAMETRIZADA_ULTIMO_REGISTRO, ano, usuarioLogado.getOrganizacao().getId());
237 237 Long sequencial = null;
238 238  
239 239 if (UtilObjeto.isReferencia(ultimoRegistro)) {
... ... @@ -242,7 +242,7 @@ public class NotificacaoContratoServiceImpl extends GenericServiceImpl&lt;Notificac
242 242 sequencial = 0l;
243 243 }
244 244  
245   - entitySaved.setCodigo(StringUtils.leftPad((Long.valueOf(sequencial + 1)).toString(), 2, "0") + ano);
  245 + entitySaved.setCodigo(StringUtils.leftPad((Long.valueOf(sequencial + 1)).toString(), 5, "0") + ano);
246 246 }
247 247  
248 248 }
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/service/impl/OrdemFornecimentoServiceImpl.java
... ... @@ -4,6 +4,7 @@ import java.util.ArrayList;
4 4 import java.util.Collection;
5 5 import java.util.List;
6 6  
  7 +import org.apache.commons.lang.StringUtils;
7 8 import org.springframework.beans.factory.annotation.Autowired;
8 9 import org.springframework.beans.factory.annotation.Qualifier;
9 10 import org.springframework.security.core.context.SecurityContextHolder;
... ... @@ -26,6 +27,7 @@ import br.com.centralit.api.service.UsuarioService;
26 27 import br.com.centralit.framework.model.Usuario;
27 28 import br.com.centralit.framework.service.arquitetura.GenericServiceImpl;
28 29 import br.com.centralit.framework.util.UtilColecao;
  30 +import br.com.centralit.framework.util.UtilDate;
29 31 import br.com.centralit.framework.util.UtilObjeto;
30 32  
31 33 /**
... ... @@ -54,22 +56,22 @@ public class OrdemFornecimentoServiceImpl extends GenericServiceImpl&lt;OrdemFornec
54 56  
55 57 /** Atributo ordemFornecimentoDao. */
56 58 private OrdemFornecimentoDao ordemFornecimentoDao;
57   -
  59 +
58 60 @Autowired
59 61 private DominioService dominioService;
60   -
  62 +
61 63 @Autowired
62 64 private ContratoService contratoService;
63   -
  65 +
64 66 @Autowired
65 67 private ContratoItemService contratoItemService;
66   -
  68 +
67 69 @Autowired
68 70 private UsuarioService usuarioService;
69   -
  71 +
70 72 @Autowired
71 73 private ParceiroService parceiroService;
72   -
  74 +
73 75 @Autowired
74 76 private AnexoService anexoService;
75 77  
... ... @@ -84,7 +86,7 @@ public class OrdemFornecimentoServiceImpl extends GenericServiceImpl&lt;OrdemFornec
84 86 this.ordemFornecimentoDao = ordemFornecimentoDao;
85 87 this.validator = validator;
86 88 }
87   -
  89 +
88 90 /**
89 91 * Método responsável por salvar todas as informações informadas na tela de cadastro
90 92 * montar objeto da ordem de fornecimento removendo possíveis problemas de transient
... ... @@ -96,15 +98,18 @@ public class OrdemFornecimentoServiceImpl extends GenericServiceImpl&lt;OrdemFornec
96 98 */
97 99 @Override
98 100 public OrdemFornecimento save(OrdemFornecimento ordemFornecimento) {
  101 +
  102 + configurarCodigo(ordemFornecimento);
  103 +
99 104 // monta objeto ordemFornecimento com todas as suas listas e objetos transients
100 105 this.montarObjetoOrdemFornecimento(ordemFornecimento);
101   -
  106 +
102 107 // realiza a validação do objeto com a classe OrdemFornecimentoValidator.java
103 108 this.validarEntidade(ordemFornecimento, this.validator);
104   -
  109 +
105 110 return super.save(ordemFornecimento);
106 111 }
107   -
  112 +
108 113 /**
109 114 * Método responsável por atualizar todas as informações informadas na tela de cadastro
110 115 * montar objeto da ordem de fornecimento removendo possíveis problemas de transient
... ... @@ -117,15 +122,19 @@ public class OrdemFornecimentoServiceImpl extends GenericServiceImpl&lt;OrdemFornec
117 122 @Override
118 123 public OrdemFornecimento merge(OrdemFornecimento ordemFornecimento) {
119 124  
  125 + if (!UtilObjeto.isReferencia(ordemFornecimento.getNumOrdemFornecimento())) {
  126 + configurarCodigo(ordemFornecimento);
  127 + }
  128 +
120 129 // monta objeto ordemFornecimento com todas as suas listas e objetos transients
121 130 this.montarObjetoOrdemFornecimento(ordemFornecimento);
122   -
  131 +
123 132 // realiza a validação do objeto com a classe OrdemFornecimentoValidator.java
124 133 this.validarEntidade(ordemFornecimento, this.validator);
125 134  
126 135 return super.save(ordemFornecimento);
127 136 }
128   -
  137 +
129 138 /**
130 139 * Método responsável por resolver os transients da ordem de fornecimento
131 140 *
... ... @@ -138,16 +147,16 @@ public class OrdemFornecimentoServiceImpl extends GenericServiceImpl&lt;OrdemFornec
138 147 if (UtilObjeto.isReferencia(ordemFornecimento.getDominioSituacao())) {
139 148 ordemFornecimento.setDominioSituacao(this.dominioService.find(ordemFornecimento.getDominioSituacao().getId()));
140 149 }
141   -
  150 +
142 151 if (UtilObjeto.isReferencia(ordemFornecimento.getContrato())) {
143 152 ordemFornecimento.setContrato(this.contratoService.find(ordemFornecimento.getContrato().getId()));
144 153 }
145   -
  154 +
146 155 for (OrdemFornecimentoItem ordemFornItem : ordemFornecimento.getItensBensServicos()) {
147 156 ordemFornItem.setItemBemServico(this.contratoItemService.find(ordemFornItem.getItemBemServico().getId()));
148 157 ordemFornItem.setOrdemFornecimento(ordemFornecimento);
149 158 }
150   -
  159 +
151 160 // cria vinculo da ordem de fornecimento com as Observacoes
152 161 if (!UtilColecao.isVazio(ordemFornecimento.getObservacoes())) {
153 162 for (OrdemFornecimentoObservacao ordemFornecimentoObservacao : ordemFornecimento.getObservacoes()) {
... ... @@ -194,4 +203,25 @@ public class OrdemFornecimentoServiceImpl extends GenericServiceImpl&lt;OrdemFornec
194 203 return this.ordemFornecimentoDao.findOrdemFornecimentoPorContrato(idContrato);
195 204 }
196 205  
  206 + private void configurarCodigo(OrdemFornecimento entity) {
  207 + Usuario usuarioLogado = (Usuario) usuarioService.find(( (Usuario) SecurityContextHolder.getContext().getAuthentication().getPrincipal() ).getId());
  208 + String ano = UtilDate.getAnoAtual();
  209 +
  210 + if (!UtilObjeto.isReferencia(entity.getOrganizacao())) {
  211 + entity.setOrganizacao(this.getUsuario().getOrganizacao());
  212 + }
  213 +
  214 + OrdemFornecimento ultimoRegistro = (OrdemFornecimento) ordemFornecimentoDao.buscarUltimoAnoRegistroComOrdenadoParametrizada("numOrdemFornecimento", ano, usuarioLogado.getOrganizacao().getId());
  215 +
  216 + Long sequencial = 0L;
  217 + if (UtilObjeto.isReferencia(ultimoRegistro)) {
  218 + sequencial = ultimoRegistro.getNumOrdemFornecimento().replace(ano, "") == null ? null : Long.parseLong(ultimoRegistro.getNumOrdemFornecimento().replace(ano, "") );
  219 + }else{
  220 + sequencial = 0l;
  221 + }
  222 +
  223 + entity.setNumOrdemFornecimento(StringUtils.leftPad((Long.valueOf(sequencial + 1)).toString(), 5, "0") + ano);
  224 +
  225 + }
  226 +
197 227 }
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/service/impl/RegistroOcorrenciaServiceImpl.java
... ... @@ -21,6 +21,7 @@ import net.sf.jasperreports.engine.design.JasperDesign;
21 21 import net.sf.jasperreports.engine.xml.JRXmlLoader;
22 22  
23 23 import org.apache.commons.collections.CollectionUtils;
  24 +import org.apache.commons.lang.StringUtils;
24 25 import org.apache.log4j.Logger;
25 26 import org.springframework.beans.factory.annotation.Autowired;
26 27 import org.springframework.beans.factory.annotation.Qualifier;
... ... @@ -219,7 +220,8 @@ public class RegistroOcorrenciaServiceImpl extends GenericServiceImpl&lt;RegistroOc
219 220 } else {
220 221 sequencial = 1l;
221 222 }
222   - String numeroAnoOcorrencia = sequencial.toString() + entity.getDataEmissaoOcorrencia().get(Calendar.YEAR);
  223 +
  224 + String numeroAnoOcorrencia = StringUtils.leftPad((Long.valueOf(sequencial.toString())).toString(), 5, "0") + entity.getDataEmissaoOcorrencia().get(Calendar.YEAR);
223 225 RegistroSequencial registroSequencial = new RegistroSequencial(sequencial, numeroAnoOcorrencia);
224 226 entity.setRegistroOcorrenciaSequencial(registroSequencial);
225 227 }
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/service/impl/TermoReferenciaServiceImpl.java
... ... @@ -13,6 +13,7 @@ import java.util.Map;
13 13 import javax.servlet.http.HttpServletResponse;
14 14  
15 15 import org.apache.commons.collections.CollectionUtils;
  16 +import org.apache.commons.lang3.StringUtils;
16 17 import org.apache.log4j.Logger;
17 18 import org.springframework.beans.factory.annotation.Autowired;
18 19 import org.springframework.beans.factory.annotation.Qualifier;
... ... @@ -255,18 +256,26 @@ public class TermoReferenciaServiceImpl extends GenericServiceImpl&lt;TermoReferenc
255 256  
256 257 private void configurarCodigo(TermoReferencia entity) {
257 258  
  259 + Usuario usuarioLogado = (Usuario) usuarioService.find(( (Usuario) SecurityContextHolder.getContext().getAuthentication().getPrincipal() ).getId());
258 260 if (!UtilObjeto.isReferencia(entity.getOrganizacao())) {
259 261 entity.setOrganizacao(this.getUsuario().getOrganizacao());
260 262 }
261 263  
  264 + Integer ano = Calendar.getInstance().get(Calendar.YEAR);
  265 +
262 266 TermoReferencia ultimoRegistro =
263   - (TermoReferencia) termoReferenciaDao.buscarUltimoRegistroComOrdenadoParametrizada("codigo", entity.getOrganizacao().getId());
  267 + (TermoReferencia) termoReferenciaDao.buscarUltimoAnoRegistroComOrdenadoParametrizada("codigo", ano.toString(), usuarioLogado.getOrganizacao().getId());
264 268  
265 269 Long sequencial = null;
266   - if (UtilObjeto.isReferencia(ultimoRegistro)) {
267   - sequencial = ultimoRegistro.getCodigo() == null ? null : Long.parseLong(ultimoRegistro.getCodigo());
  270 + if (ultimoRegistro != null) {
  271 + sequencial = Long.valueOf(ultimoRegistro.getCodigo().split(ano.toString())[0]);
  272 + }
  273 + if (sequencial != null){
  274 + sequencial++;
  275 + } else {
  276 + sequencial = 1l;
268 277 }
269   - String codigo = configuracaoParametroSistemaService.gerarNumeroIdentificacao(sequencial, entity.getOrganizacao());
  278 + String codigo = StringUtils.leftPad(sequencial.toString() + ano, 9, "0");
270 279  
271 280 entity.setCodigo(codigo);
272 281 }
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/service/validation/EncerramentoContratoValidator.java
... ... @@ -10,7 +10,7 @@ import br.com.centralit.framework.exception.CodigoErro;
10 10 import br.com.centralit.framework.util.UtilObjeto;
11 11  
12 12 /**
13   - *
  13 + *
14 14 * <p><img src="http://centralit.com.br/images/logo_central.png"></p>
15 15 *
16 16 * <p><b>Company: </b> Central IT - Governança Corporativa - </p>
... ... @@ -18,11 +18,11 @@ import br.com.centralit.framework.util.UtilObjeto;
18 18 * <p><b>Title: </b></p>
19 19 *
20 20 * <p><b>Description: </b></p>
21   - *
  21 + *
22 22 * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p>
23 23 *
24   - * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>
25   - *
  24 + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>
  25 + *
26 26 * @since 24/02/2016 - 15:53:35
27 27 *
28 28 * @version 1.0.0
... ... @@ -43,9 +43,9 @@ public class EncerramentoContratoValidator implements Validator {
43 43 public void validate(Object target, Errors errors) {
44 44  
45 45 ValidationUtils.rejectIfEmpty(errors, "contrato", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "LABEL.NUM_CONTRATO");
46   -
  46 +
47 47 ValidationUtils.rejectIfEmpty(errors, "contratante", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "LABEL.SELECIONE_CONTRATANTE");
48   -
  48 +
49 49 ValidationUtils.rejectIfEmpty(errors, "numTermo", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "LABEL.NUM_TERMO_ANO");
50 50  
51 51 ValidationUtils.rejectIfEmpty(errors, "dataEmissao", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "LABEL.DATA_EMISSAO");
... ... @@ -57,15 +57,15 @@ public class EncerramentoContratoValidator implements Validator {
57 57 ValidationUtils.rejectIfEmpty(errors, "encaminhamentos", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "LABEL.ENCAMINHAMENTOS");
58 58  
59 59 ValidationUtils.rejectIfEmpty(errors, "decisao", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "LABEL.DECISAO");
60   -
  60 +
61 61 EncerramentoContrato encerramento = (EncerramentoContrato) target;
62   -
  62 +
63 63 if (UtilObjeto.isReferencia(encerramento.getContrato()) && UtilObjeto.isReferencia(encerramento.getDataEmissao())) {
64 64 if (encerramento.getDataEmissao().before(encerramento.getContrato().getDataUltimaVigenciaFinal())) {
65 65 errors.rejectValue("dataEmissao", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "VALIDACAO.DATA_EMISSAO_MENOR_VIGENCIA_FINAL");
66 66 }
67 67 }
68   -
  68 +
69 69 }
70 70 }
71 71  
... ...
cit-contratos-api/src/main/resources/script-bd/v1.0.0-alpha10/01-cit-contratos-1.0.0-ALFA-10-postgres.sql
... ... @@ -3,6 +3,139 @@ TRUNCATE INTERNACIONALIZACAO;
3 3 UPDATE DOMINIO SET descricao = 'Reforço' where CHAVE = 'tipoFinalidadeEmpenhoContrato' AND descricao = 'Redorço';
4 4 -- ERICK SATO FIM 30/03/2016
5 5  
  6 +-- ERICK INIICIO 31/03/2016
  7 +
  8 +
  9 +ALTER TABLE cnt_estudoTecnico ADD COLUMN numerosequencial bigint NULL;
  10 +ALTER TABLE cnt_estudoTecnico ADD COLUMN sequencialAno varchar(20) NULL;
  11 +
  12 +DO $$
  13 +DECLARE
  14 + r RECORD;
  15 +BEGIN
  16 + FOR r IN
  17 + SELECT
  18 + lpad(CAST(concat(CAST(CAST(codigo AS integer) AS VARCHAR), CAST(date_part('Year', (SELECT CURRENT_TIMESTAMP)) AS VARCHAR)) AS VARCHAR),9,'0') AS SEQUENCIALANO, ID as ID
  19 + FROM cnt_estudoTecnico
  20 + LOOP
  21 + UPDATE cnt_estudoTecnico SET numerosequencial = CAST(codigo AS integer), sequencialAno = r.SEQUENCIALANO WHERE ID = r.ID;
  22 + END LOOP;
  23 +END$$;
  24 +
  25 +ALTER TABLE cnt_estudoTecnico DROP COLUMN codigo;
  26 +
  27 +DO $$
  28 +DECLARE
  29 + r RECORD;
  30 +BEGIN
  31 + FOR r IN
  32 + SELECT lpad(concat(CAST(CAST(substring(codigo, 5) AS integer) AS VARCHAR), substring(codigo, 0, 5)),9,'0') AS SEQUENCIALANO , ID as ID
  33 + FROM cnt_termoreferencia
  34 + LOOP
  35 + UPDATE cnt_termoreferencia SET codigo = r.SEQUENCIALANO WHERE ID = r.ID;
  36 + END LOOP;
  37 +END$$;
  38 +
  39 +ALTER TABLE cnt_cronogramaexecucao ALTER COLUMN codigo TYPE VARCHAR(10);
  40 +
  41 +DO $$
  42 +DECLARE
  43 + r RECORD;
  44 +BEGIN
  45 + FOR r IN
  46 + SELECT lpad(codigo,10,'0') AS SEQUENCIALANO , ID as ID FROM cnt_cronogramaexecucao
  47 + LOOP
  48 + UPDATE cnt_cronogramaexecucao SET codigo = r.SEQUENCIALANO WHERE ID = r.ID;
  49 + END LOOP;
  50 +END$$;
  51 +
  52 +
  53 +ALTER TABLE cnt_ordemfornecimento ALTER COLUMN numordemfornecimento TYPE VARCHAR(20);
  54 +
  55 +DO $$
  56 +DECLARE
  57 + r RECORD;
  58 +BEGIN
  59 + FOR r IN
  60 + SELECT
  61 + lpad(CAST(concat(CAST(row_number() over() AS VARCHAR), CAST(date_part('Year', (SELECT CURRENT_TIMESTAMP)) AS VARCHAR)) AS VARCHAR),9,'0') AS SEQUENCIALANO, ID as ID
  62 + FROM cnt_ordemfornecimento ORDER BY ID
  63 + LOOP
  64 + UPDATE cnt_ordemfornecimento SET numordemfornecimento = r.SEQUENCIALANO WHERE ID = r.ID;
  65 + END LOOP;
  66 +END$$;
  67 +
  68 +DO $$
  69 +DECLARE
  70 + r RECORD;
  71 +BEGIN
  72 + FOR r IN
  73 + SELECT lpad(sequencialano,9,'0') AS SEQUENCIALANO , ID as ID FROM cnt_registroocorrencia
  74 + LOOP
  75 + UPDATE cnt_registroocorrencia SET sequencialano = r.SEQUENCIALANO WHERE ID = r.ID;
  76 + END LOOP;
  77 +END$$;
  78 +
  79 +DO $$
  80 +DECLARE
  81 + r RECORD;
  82 +BEGIN
  83 + FOR r IN
  84 + SELECT lpad(codigo,9,'0') AS SEQUENCIALANO , ID as ID FROM cnt_notificacao
  85 + LOOP
  86 + UPDATE cnt_notificacao SET codigo = r.SEQUENCIALANO WHERE ID = r.ID;
  87 + END LOOP;
  88 +END$$;
  89 +
  90 +DO $$
  91 +DECLARE
  92 + r RECORD;
  93 +BEGIN
  94 + FOR r IN
  95 + SELECT lpad(numtermo,9,'0') AS SEQUENCIALANO , ID as ID FROM cnt_encerramentocontrato
  96 + LOOP
  97 + UPDATE cnt_encerramentocontrato SET numtermo = r.SEQUENCIALANO WHERE ID = r.ID;
  98 + END LOOP;
  99 +END$$;
  100 +
  101 +ALTER TABLE cnt_ev_liberacao_pagamento DROP CONSTRAINT uk_gg7hbv315s2l37q886vi69x09;
  102 +
  103 +
  104 +DELETE FROM cnt_ad_documento;
  105 +DELETE FROM cnt_ad_observacao;
  106 +DELETE FROM cnt_ev_aditivo;
  107 +
  108 +DELETE FROM cnt_ev_ro_documento;
  109 +DELETE FROM cnt_ev_ro_observacao;
  110 +DELETE FROM cnt_ev_recebimentoobjeto;
  111 +
  112 +DELETE FROM cnt_lp_ordemfornecimento;
  113 +DELETE FROM cnt_lp_empenho;
  114 +DELETE FROM cnt_lp_observacao;
  115 +DELETE FROM cnt_lp_documento;
  116 +DELETE FROM cnt_ev_liberacao_pagamento;
  117 +
  118 +
  119 +DELETE FROM cnt_ap_documento;
  120 +DELETE FROM cnt_ap_observacao;
  121 +DELETE FROM cnt_ev_apostilamento;
  122 +
  123 +DELETE FROM cnt_rep_documento;
  124 +DELETE FROM cnt_rep_observacao;
  125 +DELETE FROM cnt_ev_repactuacao;
  126 +
  127 +
  128 +DELETE FROM cnt_rc_documento;
  129 +DELETE FROM cnt_rc_observacao;
  130 +DELETE FROM cnt_ev_rescisaocontrato;
  131 +
  132 +DELETE FROM cnt_cn_evento WHERE tipoevento_id IN (SELECT ID FROM DOMINIO
  133 +WHERE CHAVE = 'tipoEventoContrato'
  134 +AND nome IN ('ADITIVO', 'APOSTILAMENTO', 'LIBERA_PAGAMENTO', 'RECEBIMENTO_OBJETO', 'REPACTUACAO', 'RESCISAO'));
  135 +
  136 +
  137 +-- ERICK FIM 31/03/2016
  138 +
6 139 -- CIRO - INÍCIO 01/04/2016
7 140 ALTER TABLE cnt_ev_recebimentoobjeto DROP CONSTRAINT fk_mqveh23a280q09lmgmnousda1;
8 141 ALTER TABLE cnt_ev_recebimentoobjeto DROP COLUMN liberacaopagamento_id;
... ... @@ -17,4 +150,4 @@ INSERT INTO menufile (id, datacriacao, dataedicao, version, ativo, caminho, domi
17 150 VALUES (NEXTVAL('hibernate_sequence'), LOCALTIMESTAMP, LOCALTIMESTAMP, 0, true, '/cit-contratos-web/assets/js/angular/custom/controller/ConsultaRelatoriosController.min.js',
18 151 (SELECT id FROM dominio WHERE chave = 'tipoFile' AND codigo = 2), (SELECT id FROM menu WHERE chave = 'CONSULTA_RELATORIO'));
19 152  
20   --- LUÍS CÉSAR FIM 28/03/2016
21 153 \ No newline at end of file
  154 +-- LUÍS CÉSAR FIM 28/03/2016
... ...
cit-contratos-api/src/test/java/br/com/centralit/api/service/impl/EstudoTecnicoServiceImplTest.java
1 1 package br.com.centralit.api.service.impl;
2 2  
3   -import static org.hamcrest.MatcherAssert.assertThat;
4   -import static org.hamcrest.Matchers.equalTo;
5 3 import static org.junit.Assert.assertNotNull;
6 4 import static org.junit.Assert.assertTrue;
7 5 import static org.mockito.Matchers.any;
... ... @@ -122,7 +120,7 @@ public class EstudoTecnicoServiceImplTest extends GenericServiceImplTest&lt;EstudoT
122 120  
123 121 @Override
124 122 protected void inicializarMocksDasDependencias() {
125   -
  123 +
126 124 }
127 125  
128 126 @Before
... ... @@ -190,9 +188,7 @@ public class EstudoTecnicoServiceImplTest extends GenericServiceImplTest&lt;EstudoT
190 188  
191 189 assertNotNull(estudoTecnicoSaved.getId());
192 190 assertTrue(estudoTecnicoSaved.getId() > 0);
193   - assertNotNull(estudoTecnicoSaved.getCodigo());
194   - assertThat(estudoTecnicoSaved.getCodigo(), equalTo(CODIGO_INICIAL_ESTUDO_TECNICO_TESTE_SAVE_SEM_CODIGO));
195   -
  191 + assertNotNull(estudoTecnicoSaved.getRegistroSequencial());
196 192 LOG.info("==================== Finalizando testSavePrimeiroRegistroEstudoTecnicoSemCodigo ==================== ");
197 193  
198 194 }
... ... @@ -204,7 +200,6 @@ public class EstudoTecnicoServiceImplTest extends GenericServiceImplTest&lt;EstudoT
204 200  
205 201 EstudoTecnico estudoTecnico = Fixture.from(EstudoTecnico.class).gimme("valid");
206 202 estudoTecnico.setId(1L);
207   - estudoTecnico.setCodigo("000001");
208 203  
209 204 Colaborador colaborador = Fixture.from(Colaborador.class).gimme("valid");
210 205  
... ... @@ -233,7 +228,6 @@ public class EstudoTecnicoServiceImplTest extends GenericServiceImplTest&lt;EstudoT
233 228  
234 229 assertNotNull(estudoTecnicoSaved.getId());
235 230 assertTrue(estudoTecnicoSaved.getId() > 0);
236   - assertNotNull(estudoTecnicoSaved.getCodigo());
237 231  
238 232 LOG.info("==================== Finalizando testMergeRegistroEstudoTecnicoComCodigo ==================== ");
239 233  
... ...
cit-contratos-web/src/main/resources/reports/consultaTermo.jrxml
1 1 <?xml version="1.0" encoding="UTF-8"?>
2 2 <jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="consultaTermo" pageWidth="554" pageHeight="802" orientation="Landscape" whenNoDataType="AllSectionsNoDetail" columnWidth="554" leftMargin="0" rightMargin="0" topMargin="0" bottomMargin="0" uuid="2a9bde7e-349d-4f0b-b96c-98310606be6f">
3   - <property name="ireport.zoom" value="2.1435888100000042"/>
4   - <property name="ireport.x" value="0"/>
  3 + <property name="ireport.zoom" value="2.3579476910000055"/>
  4 + <property name="ireport.x" value="32"/>
5 5 <property name="ireport.y" value="0"/>
6 6 <style name="table">
7 7 <box>
... ... @@ -201,8 +201,9 @@ ORDER BY EVENTO.DATAEVENTO, EVENTO.ID]]&gt;
201 201 <rightPen lineWidth="1.0"/>
202 202 </box>
203 203 <textElement verticalAlignment="Middle"/>
204   - <textFieldExpression><![CDATA[$F{apostilamento}.substring(0,4) + "/" +
205   -$F{apostilamento}.substring(4,8)]]></textFieldExpression>
  204 + <textFieldExpression><![CDATA[$F{apostilamento}.substring(0, $F{apostilamento}.length() - 4)
  205 +.concat("/")
  206 +.concat($F{apostilamento}.substring($F{apostilamento}.length() - 4))]]></textFieldExpression>
206 207 </textField>
207 208 <textField>
208 209 <reportElement stretchType="RelativeToBandHeight" x="14" y="0" width="121" height="20" uuid="12a30fe8-d78b-4d2a-84ca-1f37b478ba8b">
... ... @@ -216,8 +217,9 @@ $F{apostilamento}.substring(4,8)]]&gt;&lt;/textFieldExpression&gt;
216 217 <rightPen lineWidth="1.0"/>
217 218 </box>
218 219 <textElement verticalAlignment="Middle"/>
219   - <textFieldExpression><![CDATA[$F{aditivo}.substring(0,4) + "/" +
220   -$F{aditivo}.substring(4,8)]]></textFieldExpression>
  220 + <textFieldExpression><![CDATA[$F{aditivo}.substring(0, $F{aditivo}.length() - 4)
  221 +.concat("/")
  222 +.concat($F{aditivo}.substring($F{aditivo}.length() - 4))]]></textFieldExpression>
221 223 </textField>
222 224 <textField>
223 225 <reportElement x="14" y="0" width="121" height="20" uuid="0c5fd3d7-8432-4ef9-a702-bf1d0bf2dd74">
... ... @@ -247,7 +249,9 @@ $F{aditivo}.substring(4,8)]]&gt;&lt;/textFieldExpression&gt;
247 249 <rightPen lineWidth="1.0"/>
248 250 </box>
249 251 <textElement verticalAlignment="Middle"/>
250   - <textFieldExpression><![CDATA[$F{rescisao}]]></textFieldExpression>
  252 + <textFieldExpression><![CDATA[$F{rescisao}.substring(0, $F{rescisao}.length() - 4)
  253 +.concat("/")
  254 +.concat($F{rescisao}.substring($F{rescisao}.length() - 4))]]></textFieldExpression>
251 255 </textField>
252 256 <textField pattern="dd/MM/yyyy">
253 257 <reportElement x="368" y="0" width="176" height="20" uuid="a66fe6cc-dd3a-4b77-8998-5240463081fb"/>
... ...
cit-contratos-web/src/main/resources/reports/encerramentoContrato.jrxml
... ... @@ -2,7 +2,7 @@
2 2 <jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="encerramentoContrato" pageWidth="554" pageHeight="802" orientation="Landscape" whenNoDataType="AllSectionsNoDetail" columnWidth="554" leftMargin="0" rightMargin="0" topMargin="0" bottomMargin="0" uuid="2a9bde7e-349d-4f0b-b96c-98310606be6f">
3 3 <property name="ireport.zoom" value="1.3636363636363635"/>
4 4 <property name="ireport.x" value="0"/>
5   - <property name="ireport.y" value="686"/>
  5 + <property name="ireport.y" value="0"/>
6 6 <style name="table">
7 7 <box>
8 8 <pen lineWidth="1.0" lineColor="#000000"/>
... ... @@ -111,7 +111,7 @@
111 111 <textElement textAlignment="Left" verticalAlignment="Middle">
112 112 <font isBold="false"/>
113 113 </textElement>
114   - <textFieldExpression><![CDATA[$F{numtermo}.substring(0,4) + "/" + $F{numtermo}.substring(4,8)]]></textFieldExpression>
  114 + <textFieldExpression><![CDATA[$F{numtermo}.substring(0,5) + "/" + $F{numtermo}.substring(5,9)]]></textFieldExpression>
115 115 </textField>
116 116 </frame>
117 117 <frame>
... ...
cit-contratos-web/src/main/resources/reports/eventoAditivo.jrxml
... ... @@ -2,7 +2,7 @@
2 2 <jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="encerramentoContrato" pageWidth="554" pageHeight="802" orientation="Landscape" whenNoDataType="AllSectionsNoDetail" columnWidth="554" leftMargin="0" rightMargin="0" topMargin="0" bottomMargin="0" uuid="2a9bde7e-349d-4f0b-b96c-98310606be6f">
3 3 <property name="ireport.zoom" value="1.9487171000000056"/>
4 4 <property name="ireport.x" value="0"/>
5   - <property name="ireport.y" value="869"/>
  5 + <property name="ireport.y" value="246"/>
6 6 <style name="table">
7 7 <box>
8 8 <pen lineWidth="1.0" lineColor="#000000"/>
... ... @@ -280,8 +280,8 @@ $F{cnpjcontratado}.substring(12,14)]]&gt;&lt;/textFieldExpression&gt;
280 280 <rightPen lineWidth="1.0"/>
281 281 </box>
282 282 <textElement textAlignment="Left" verticalAlignment="Middle"/>
283   - <textFieldExpression><![CDATA[$F{sequencialano}.substring(0,4) + "/" +
284   -$F{sequencialano}.substring(4,8)]]></textFieldExpression>
  283 + <textFieldExpression><![CDATA[$F{sequencialano}.substring(0,5) + "/" +
  284 +$F{sequencialano}.substring(5,9)]]></textFieldExpression>
285 285 </textField>
286 286 <staticText>
287 287 <reportElement stretchType="RelativeToBandHeight" mode="Opaque" x="0" y="0" width="205" height="25" backcolor="#CCCCCC" uuid="dacd172c-f3d1-4388-8ea4-d6adda659c51"/>
... ...
cit-contratos-web/src/main/resources/reports/eventoApostilamento.jrxml
... ... @@ -2,7 +2,7 @@
2 2 <jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="eventoApostilamento" pageWidth="554" pageHeight="802" orientation="Landscape" whenNoDataType="AllSectionsNoDetail" columnWidth="554" leftMargin="0" rightMargin="0" topMargin="0" bottomMargin="0" uuid="2a9bde7e-349d-4f0b-b96c-98310606be6f">
3 3 <property name="ireport.zoom" value="1.6105100000000048"/>
4 4 <property name="ireport.x" value="0"/>
5   - <property name="ireport.y" value="71"/>
  5 + <property name="ireport.y" value="0"/>
6 6 <style name="table">
7 7 <box>
8 8 <pen lineWidth="1.0" lineColor="#000000"/>
... ...
cit-contratos-web/src/main/resources/reports/eventoRepactuacao.jrxml
... ... @@ -2,7 +2,7 @@
2 2 <jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="eventoRepactuacao" pageWidth="554" pageHeight="802" orientation="Landscape" whenNoDataType="AllSectionsNoDetail" columnWidth="554" leftMargin="0" rightMargin="0" topMargin="0" bottomMargin="0" uuid="2a9bde7e-349d-4f0b-b96c-98310606be6f">
3 3 <property name="ireport.zoom" value="1.4641000000000042"/>
4 4 <property name="ireport.x" value="0"/>
5   - <property name="ireport.y" value="186"/>
  5 + <property name="ireport.y" value="0"/>
6 6 <style name="table">
7 7 <box>
8 8 <pen lineWidth="1.0" lineColor="#000000"/>
... ... @@ -432,7 +432,8 @@ $F{cnpjfornecedorcontratada}.substring(12,14)]]&gt;&lt;/textFieldExpression&gt;
432 432 <rightPen lineWidth="1.0"/>
433 433 </box>
434 434 <textElement textAlignment="Left" verticalAlignment="Middle"/>
435   - <textFieldExpression><![CDATA[$F{numerorepactuacao}]]></textFieldExpression>
  435 + <textFieldExpression><![CDATA[$F{numerorepactuacao}.substring(0,5) + "/" +
  436 +$F{numerorepactuacao}.substring(5,9)]]></textFieldExpression>
436 437 </textField>
437 438 <staticText>
438 439 <reportElement positionType="Float" mode="Opaque" x="14" y="307" width="205" height="25" isPrintWhenDetailOverflows="true" backcolor="#CCCCCC" uuid="ff0d6117-4055-49cb-9040-887f3aaa90e2"/>
... ...
cit-contratos-web/src/main/resources/reports/eventoRescisaoContrato.jrxml
... ... @@ -2,7 +2,7 @@
2 2 <jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="encerramentoContrato" pageWidth="554" pageHeight="802" orientation="Landscape" whenNoDataType="AllSectionsNoDetail" columnWidth="554" leftMargin="0" rightMargin="0" topMargin="0" bottomMargin="0" uuid="2a9bde7e-349d-4f0b-b96c-98310606be6f">
3 3 <property name="ireport.zoom" value="2.000000000000001"/>
4 4 <property name="ireport.x" value="0"/>
5   - <property name="ireport.y" value="0"/>
  5 + <property name="ireport.y" value="144"/>
6 6 <style name="table">
7 7 <box>
8 8 <pen lineWidth="1.0" lineColor="#000000"/>
... ... @@ -516,7 +516,8 @@ $F{cnpjcontratado}.substring(12,14)]]&gt;&lt;/textFieldExpression&gt;
516 516 <rightPen lineWidth="1.0"/>
517 517 </box>
518 518 <textElement textAlignment="Left" verticalAlignment="Middle"/>
519   - <textFieldExpression><![CDATA[$F{numerorescisao}]]></textFieldExpression>
  519 + <textFieldExpression><![CDATA[$F{numerorescisao}.substring(0,5) + "/" +
  520 +$F{numerorescisao}.substring(5,9)]]></textFieldExpression>
520 521 </textField>
521 522 <staticText>
522 523 <reportElement positionType="Float" mode="Opaque" x="15" y="307" width="205" height="25" backcolor="#CCCCCC" uuid="dacd172c-f3d1-4388-8ea4-d6adda659c51"/>
... ...
cit-contratos-web/src/main/resources/reports/ordemFornecimento.jrxml
... ... @@ -2,7 +2,7 @@
2 2 <jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="ordemFornecimento" pageWidth="554" pageHeight="802" orientation="Landscape" whenNoDataType="AllSectionsNoDetail" columnWidth="554" leftMargin="0" rightMargin="0" topMargin="0" bottomMargin="0" uuid="2a9bde7e-349d-4f0b-b96c-98310606be6f">
3 3 <property name="ireport.zoom" value="1.5"/>
4 4 <property name="ireport.x" value="0"/>
5   - <property name="ireport.y" value="33"/>
  5 + <property name="ireport.y" value="0"/>
6 6 <style name="table">
7 7 <box>
8 8 <pen lineWidth="1.0" lineColor="#000000"/>
... ... @@ -75,7 +75,7 @@
75 75 LEFT JOIN pessoa pesPreposto ON pesPreposto.id = parPreposto.pessoa_id
76 76 WHERE ordemf.id = $P{ORDEM_FORNECIMENTO_ID};]]>
77 77 </queryString>
78   - <field name="numordemfornecimento" class="java.lang.Long"/>
  78 + <field name="numordemfornecimento" class="java.lang.String"/>
79 79 <field name="dataemissao" class="java.sql.Timestamp"/>
80 80 <field name="situacao" class="java.lang.String"/>
81 81 <field name="numanocontrato" class="java.lang.String"/>
... ... @@ -129,7 +129,7 @@
129 129 <rightPen lineWidth="1.0"/>
130 130 </box>
131 131 <textElement textAlignment="Left" verticalAlignment="Middle"/>
132   - <textFieldExpression><![CDATA[$F{numordemfornecimento}]]></textFieldExpression>
  132 + <textFieldExpression><![CDATA[$F{numordemfornecimento}.substring(0,5) + "/" + $F{numordemfornecimento}.substring(5,9)]]></textFieldExpression>
133 133 </textField>
134 134 </frame>
135 135 <frame>
... ...
cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/ConsultaRelatoriosController.js
... ... @@ -59,7 +59,7 @@ citApp.controller(&#39;ConsultaRelatoriosController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;$timeou
59 59 }
60 60 }
61 61 $scope.setLoadingGet(true);
62   - if($scope.consultaRelatoriosForm.$invalid && !$scope.isTiposRelatorioSelecionado) {
  62 + if(!$scope.isTiposRelatorioSelecionado) {
63 63 $scope.setLoading(false);
64 64 //Mensagem de erro de campos obrigatorios não preenchidos
65 65 $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false);
... ...
cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/EncerramentoContratoListController.js
... ... @@ -2,7 +2,7 @@
2 2  
3 3 citApp.controller('EncerramentoContratoListController', ['$scope', 'EncerramentoContratoRepository', '$translate',
4 4 function EncerramentoContratoListController($scope, EncerramentoContratoRepository, $translate) {
5   -
  5 +
6 6 $scope.resetForm = function(){
7 7 angular.element("#encerramentoContratoControllerId").scope().resetForm();
8 8 };
... ... @@ -30,9 +30,9 @@ citApp.controller(&#39;EncerramentoContratoListController&#39;, [&#39;$scope&#39;, &#39;Encerramento
30 30 },{
31 31 value : 'numTermo',
32 32 title : $translate.instant('LABEL.NUM_TERMO'),
33   - filter : 'maskTermoEncerramento',
34 33 tamanho : 8,
35   - align : 'text-center'
  34 + align : 'text-center',
  35 + mask : [new RegExp(/(\d{2})(\d{1,4})$/), '$1/$2']
36 36 }];
37 37  
38 38 // default criteria that will be sent to the server
... ... @@ -47,7 +47,7 @@ citApp.controller(&#39;EncerramentoContratoListController&#39;, [&#39;$scope&#39;, &#39;Encerramento
47 47 {type: 'date-range', field: 'dataEmissao'},
48 48 {type: 'string', field: 'numTermo'}]
49 49 };
50   -
  50 +
51 51 // abrir uma EncerramentoContrato para visualizar ou editar dependendo do parametro edit
52 52 $scope.abrirEncerramentoContrato = function(edit){
53 53 // recupera a EncerramentoContrato selecionada
... ... @@ -77,9 +77,9 @@ citApp.controller(&#39;EncerramentoContratoListController&#39;, [&#39;$scope&#39;, &#39;Encerramento
77 77 $scope.url = '/cit-contratos-web/rest/encerramentoContrato/gerarTermoEncerramentoContrato?idEncerramentoContrato='+ $scope.encerramentoContratoChecked.id;
78 78 $scope.visualizarRelatorio($scope.url, $translate.instant("LABEL.TITULO_ENCERRAMENTO_CONTRATO"));
79 79 }
80   -
  80 +
81 81 };
82   -
  82 +
83 83 }]);
84 84  
85 85  
... ...
cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/EstudoTecnicoListController.js
... ... @@ -13,9 +13,10 @@ citApp.controller(&#39;EstudoTecnicoListController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoReposi
13 13  
14 14 $scope.headers = [
15 15 {
16   - value : 'codigo',
  16 + value : 'registroSequencial.sequencialAno',
17 17 title : $translate.instant('LABEL.NUM_ESTUDO_TECNICO'),
18   - align : 'text-center'
  18 + align : 'text-center',
  19 + mask : [new RegExp(/(\d{3})(\d{1,4})$/), '$1/$2']
19 20 },{
20 21 value : 'descricaoSolucao',
21 22 title : $translate.instant('CONTRATOS.LABEL.DESCRICAO_SOLUCAO'),
... ... @@ -28,8 +29,8 @@ citApp.controller(&#39;EstudoTecnicoListController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoReposi
28 29 dir : 'asc',
29 30 sort : 'id',
30 31 limit : 10,
31   - fields: ['id', 'codigo', 'descricaoSolucao'],
32   - filters : [{type: 'numeric-range', field: 'codigo'},
  32 + fields: ['id', 'registroSequencial.sequencialAno', 'descricaoSolucao'],
  33 + filters : [{type: 'numeric-range', field: 'registroSequencial.sequencialAno'},
33 34 {type: 'string', field: 'descricaoSolucao'}]
34 35 };
35 36  
... ...
cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/OrdemFornecimentoListController.js
... ... @@ -2,7 +2,7 @@
2 2  
3 3 citApp.controller('OrdemFornecimentoListController', ['$scope', 'OrdemFornecimentoRepository', '$translate', 'DominioRepository',
4 4 function OrdemFornecimentoListController($scope, OrdemFornecimentoRepository, $translate, DominioRepository) {
5   -
  5 +
6 6 $scope.resetForm = function(){
7 7 angular.element("#editOrdemFornecimento").scope().resetForm();
8 8 };
... ... @@ -12,7 +12,7 @@ citApp.controller(&#39;OrdemFornecimentoListController&#39;, [&#39;$scope&#39;, &#39;OrdemFornecimen
12 12 };
13 13  
14 14 $scope.headers = [
15   - { title : $translate.instant('LABEL.NUM_ORDEM_FORNECIMENTO'), value : 'numOrdemFornecimento' },
  15 + { title : $translate.instant('LABEL.NUM_ORDEM_FORNECIMENTO'), value : 'numOrdemFornecimento', mask : [new RegExp(/(\d{3})(\d{1,4})$/), '$1/$2'] },
16 16 { title : $translate.instant('LABEL.DATA_EMISSAO'), value : 'dataEmissao', filter : 'dateBR' },
17 17 { title : $translate.instant('LABEL.SITUACAO'), value : 'dominioSituacao.descricao' },
18 18 { title : $translate.instant('LABEL.NUMERO_ANO_CONTRATO'), value : 'contrato.numeroAnoContrato', filter : 'maskContrato' }];
... ... @@ -29,11 +29,11 @@ citApp.controller(&#39;OrdemFornecimentoListController&#39;, [&#39;$scope&#39;, &#39;OrdemFornecimen
29 29 { type : 'string', field : 'dominioSituacao.descricao', listaDominio : [] } ,
30 30 { type : 'numeric-range', field : 'contrato.numeroAnoContrato' }]
31 31 };
32   -
  32 +
33 33 DominioRepository.findAllDominio('tipoSituacaoOrdemFornecimento').then(function(result) {
34 34 $scope.filterCriteria.filters[2].listaDominio = result;
35 35 });
36   -
  36 +
37 37 // abrir uma OrdemFornecimento para visualizar ou editar dependendo do parametro edit
38 38 $scope.abrirOrdemFornecimento = function(edit){
39 39 // recupera a OrdemFornecimento selecionada
... ... @@ -56,7 +56,7 @@ citApp.controller(&#39;OrdemFornecimentoListController&#39;, [&#39;$scope&#39;, &#39;OrdemFornecimen
56 56 $scope.cadastrarNovaOrdemFornecimento = function(){
57 57 angular.element("#editOrdemFornecimento").scope().resetForm();
58 58 };
59   -
  59 +
60 60 //INICIO DE METODOS REFERENTES AOS RELATORIOS
61 61  
62 62 $scope.gerarRelatorioOrdemFornecimento = function() {
... ... @@ -67,9 +67,9 @@ citApp.controller(&#39;OrdemFornecimentoListController&#39;, [&#39;$scope&#39;, &#39;OrdemFornecimen
67 67 $scope.url = '/cit-contratos-web/rest/ordemFornecimento/gerarOrdemFornecimento?idOrdemFornecimento='+ $scope.ordemFornecimentoChecked.id;
68 68 $scope.visualizarRelatorio($scope.url, $translate.instant("LABEL.TITULO_ORDEM_FORNECIMENTO"));
69 69 }
70   -
  70 +
71 71 };
72   -
  72 +
73 73 }]);
74 74  
75 75  
... ...
cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/TermoReferenciaListController.js
... ... @@ -16,7 +16,8 @@ citApp.controller(&#39;TermoReferenciaListController&#39;, [&#39;$scope&#39;, &#39;TermoReferenciaRe
16 16 {
17 17 value : 'codigo',
18 18 title : $translate.instant('LABEL.CODIGO'),
19   - tamanho : 30
  19 + tamanho : 30,
  20 + mask : [new RegExp(/(\d{3})(\d{1,4})$/), '$1/$2']
20 21 },{
21 22 value : 'objetoContratacao',
22 23 title : $translate.instant('LABEL.OBJETO_CONTRATACAO'),
... ...
cit-contratos-web/src/main/webapp/html/contrato/dialog_item_contrato.html
... ... @@ -22,7 +22,7 @@
22 22 <fieldset>
23 23 <div class="row">
24 24 <div class="col-sm-4">
25   - <auto-complete ng-label="LABEL.ESTUDO_TECNICO" ng-id="itemContratoTemp.estudoTecnico" ng-item="item.codigo"
  25 + <auto-complete ng-label="LABEL.ESTUDO_TECNICO" ng-id="itemContratoTemp.estudoTecnico" ng-item="item.registroSequencial.sequencialAno"
26 26 ng-model="itemContratoTemp.estudoTecnico" form="formDialogItemContrato" ng-obrigatorio="editItemContrato"
27 27 ng-disabled="!editItemContrato" ng-find="findAutoCompleteEstudoTecnicoPorCodigoAndOrganizacao(value)"/>
28 28 </div><!-- .col-sm-4 -->
... ...
cit-contratos-web/src/main/webapp/html/encerramentoContrato/encerramentoContratoPg2.html
... ... @@ -7,7 +7,7 @@
7 7  
8 8 <div class="row">
9 9 <div class="col-sm-3">
10   - <label-input ng-id="encerramentoContrato.numTermo" ng-label="LABEL.NUM_TERMO_ANO" ng-mask="9999/9999"
  10 + <label-input ng-id="encerramentoContrato.numTermo" ng-label="LABEL.NUM_TERMO_ANO" ng-mask="99999/9999"
11 11 ng-model="encerramentoContrato.numTermo" form="termoEncerramentoForm" ng-disabled="true"/>
12 12 </div><!-- .col-sm-3 -->
13 13  
... ...
cit-contratos-web/src/main/webapp/html/estudoTecnico/estudoTecnicoPg1.html
... ... @@ -7,8 +7,8 @@
7 7  
8 8 <div class='row'>
9 9 <div class="col-sm-3">
10   - <label-input ng-type="text" ng-id="estudoTecnico.codigo" ng-label="CONTRATOS.LABEL.NUM_ESTUDO_TECNICO" ng-obrigatorio="false" ng-disabled="true" form="planejamentoContratacaoForm"
11   - ng-model="estudoTecnico.codigo" ng-custom-maxlength="6" />
  10 + <label-input ng-type="text" ng-id="estudoTecnico.registroSequencial.sequencialAno" ng-label="CONTRATOS.LABEL.NUM_ESTUDO_TECNICO" ng-obrigatorio="false" ng-disabled="true" form="planejamentoContratacaoForm"
  11 + ng-model="estudoTecnico.registroSequencial.sequencialAno" ng-custom-maxlength="6" ng-mask="99999/9999"/>
12 12 </div>
13 13  
14 14 <div class="col-sm-3">
... ...
cit-contratos-web/src/main/webapp/html/eventos/cnt_ev_aditivo.html
... ... @@ -56,7 +56,7 @@
56 56 </div>
57 57 <div class="row">
58 58 <div class="col-sm-4">
59   - <label-input ng-type="text" ng-id="aditivo.registroSequencial.sequencialAno" ng-label="CONTRATOS.LABEL.NUM_ADITIVO" ng-mask="9999/9999"
  59 + <label-input ng-type="text" ng-id="aditivo.registroSequencial.sequencialAno" ng-label="CONTRATOS.LABEL.NUM_ADITIVO" ng-mask="99999/9999"
60 60 ng-model="aditivo.registroSequencial.sequencialAno" ng-custom-maxlength="30" form="formDialogAditivo" ng-disabled="true" />
61 61 </div>
62 62 <div class="col-sm-4">
... ...
cit-contratos-web/src/main/webapp/html/eventos/cnt_ev_apostilamentoModal.html
... ... @@ -58,7 +58,7 @@
58 58 <div class="row">
59 59 <div class="col-sm-4" ng-show="eventoApostilamento.id">
60 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"/>
  61 + ng-custom-maxlength="30" ng-model="eventoApostilamento.registroSequencial.sequencialAno" ng-mask="99999/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"
... ...
cit-contratos-web/src/main/webapp/html/eventos/cnt_ev_liberacao_pagamento.html
... ... @@ -49,7 +49,7 @@
49 49 </div>
50 50 <div class="row">
51 51 <div class="col-sm-4">
52   - <label-input ng-type="text" ng-id="liberacaoPagamento.numeroLiberacao" ng-label="LIBERACAO_PAGAMENTO.NUMERO_LIBERACAO"
  52 + <label-input ng-type="text" ng-id="liberacaoPagamento.numeroLiberacao" ng-label="LIBERACAO_PAGAMENTO.NUMERO_LIBERACAO" ng-mask="99999/9999"
53 53 ng-model="liberacaoPagamento.numeroLiberacao" ng-custom-maxlength="30" form="formDialogLiberacaoPagamento" ng-disabled="true"
54 54 ng-obrigatorio="false"/>
55 55 </div>
... ...
cit-contratos-web/src/main/webapp/html/eventos/cnt_ev_repactuacao.html
... ... @@ -80,8 +80,8 @@
80 80 </div>
81 81 <div class="row">
82 82 <div class="col-sm-3">
83   - <label-input-number ng-id="repactuacao.numeroRepactuacao" ng-label="CONTRATOS.LABEL.NUM_REPACTUACAO" ng-model="repactuacao.numeroRepactuacao"
84   - form="formDialogRepactuacao" ng-obrigatorio="true" ng-disabled="!edit" ng-custom-maxlength="5" />
  83 + <label-input ng-id="repactuacao.numeroRepactuacao" ng-label="CONTRATOS.LABEL.NUM_REPACTUACAO" ng-model="repactuacao.numeroRepactuacao"
  84 + form="formDialogRepactuacao" ng-mask="99999/9999" ng-obrigatorio="false" ng-disabled="true" />
85 85 </div><!-- .col-sm-3 -->
86 86 <div class="col-sm-3">
87 87 <label-input-data ng-id="repactuacao.dataRepactuacao" ng-label="CONTRATOS.LABEL.DATA_REPACTUACAO" ng-disabled="!edit"
... ...
cit-contratos-web/src/main/webapp/html/eventos/cnt_ev_rescisao_contrato.html
... ... @@ -117,8 +117,8 @@
117 117 </div>
118 118 <div class="row">
119 119 <div class="col-sm-3">
120   - <label-input-number ng-id="rescisaoContrato.numeroRescisao" ng-label="CONTRATOS.RESCISAO_CONTRATO.NUM_RESCISAO" ng-model="rescisaoContrato.numeroRescisao"
121   - form="formDialogRescisaoContrato" ng-obrigatorio="true" ng-disabled="!edit || rescisaoContrato.id" ng-custom-maxlength="6" />
  120 + <label-input ng-id="rescisaoContrato.numeroRescisao" ng-label="CONTRATOS.RESCISAO_CONTRATO.NUM_RESCISAO" ng-model="rescisaoContrato.numeroRescisao"
  121 + form="formDialogRescisaoContrato" ng-obrigatorio="false" ng-disabled="true" ng-mask="99999/9999"/>
122 122 </div>
123 123 <div class="col-sm-3">
124 124 <label-input-data ng-id="rescisaoContrato.dataRescisao"
... ...
cit-contratos-web/src/main/webapp/html/ordemFornecimento/ordemFornecimentoEdit.html
... ... @@ -59,8 +59,8 @@
59 59  
60 60 <div class="row">
61 61 <div class="col-sm-3">
62   - <label-input-number ng-id="ordemFornecimento.numOrdemFornecimento" ng-custom-maxlength="10" ng-label="LABEL.NUM_ORDEM_FORNECIMENTO"
63   - ng-disabled="!edit || ordemFornecimento.id" ng-obrigatorio="edit" ng-model="ordemFornecimento.numOrdemFornecimento" form="ordemFornecimentoForm"/>
  62 + <label-input ng-id="ordemFornecimento.numOrdemFornecimento" ng-mask="99999/9999" ng-label="LABEL.NUM_ORDEM_FORNECIMENTO"
  63 + ng-disabled="true" ng-obrigatorio="false" ng-model="ordemFornecimento.numOrdemFornecimento" form="ordemFornecimentoForm"/>
64 64 </div><!-- .col-sm-4 -->
65 65 <div class="col-sm-3">
66 66 <label-input-data ng-id="ordemFornecimento.dataEmissao" ng-label="LABEL.DATA_EMISSAO" ng-model="ordemFornecimento.dataEmissao"
... ...
cit-contratos-web/src/main/webapp/html/registroOcorrencias/registroOcorrenciasEdit.html
... ... @@ -102,7 +102,7 @@
102 102 <div class="row">
103 103 <div class="col-sm-4">
104 104 <label-input ng-type="text" ng-id="registroOcorrencia.registroSequencial.sequencialAno" ng-label="LABEL.NUMERO_OCORRENCIA" ng-disabled="true"
105   - ng-model="registroOcorrencia.registroSequencial.sequencialAno" ng-custom-maxlength="30" form="registroOcorrenciaForm"/>
  105 + ng-model="registroOcorrencia.registroSequencial.sequencialAno" ng-custom-maxlength="30" form="registroOcorrenciaForm" ng-mask="99999/9999"/>
106 106 </div><!-- .col -->
107 107 <div class="col-sm-4">
108 108 <label-input-data ng-id="registroOcorrencia.dataEmissaoOcorrencia" ng-label="LABEL.DATA_EMISSAO_OCORRENCIA" ng-disabled="!edit || registroOcorrencia.id"
... ...
cit-contratos-web/src/main/webapp/html/termoReferencia/termoReferenciaPg1.html
... ... @@ -8,10 +8,10 @@
8 8 <div class="row">
9 9 <div class="col-sm-3">
10 10 <label-input ng-type="text" ng-id="termoReferencia.codigo" form="equipeContratacaoForm" ng-disabled="true"
11   - ng-label="LABEL.NUMERO_TERMO" ng-obrigatorio="false" ng-model="termoReferencia.codigo" />
  11 + ng-label="LABEL.NUMERO_TERMO" ng-obrigatorio="false" ng-model="termoReferencia.codigo" ng-mask="99999/9999"/>
12 12 </div><!-- /.col -->
13 13 <div class="col-sm-3">
14   - <auto-complete ng-find="findEstudoTecnico(value)" ng-obrigatorio="true" ng-item="item.codigo" ng-id="termoReferencia.estudoTecnico"
  14 + <auto-complete ng-find="findEstudoTecnico(value)" ng-obrigatorio="true" ng-item="item.registroSequencial.sequencialAno" ng-id="termoReferencia.estudoTecnico"
15 15 ng-label="LABEL.ESTUDO_TECNICO" ng-model="termoReferencia.estudoTecnico" form="equipeContratacaoForm" ng-disabled="!edit"
16 16 ng-set-result="atualizaListaJustificativasContratacao(item); atualizaListaBeneficiosEsperados(item); atualizaListaEtBensServicos(item); atualizaInformacoesIntegrantesEstudoTecnico(item);"/>
17 17 </div><!-- /.col -->
... ...