Commit cccb7994bd1e1fd14fa600bbee45240040cd019a

Authored by gabriel.damasceno
2 parents 1cc00df2 ea3e7c3d
Exists in master

Merge branch 'cnt-1.0.0-alfa11'

Showing 62 changed files with 963 additions and 617 deletions   Show diff stats
cit-contratos-api/src/main/java/br/com/centralit/api/dao/ContratoEmpenhoDao.java
... ... @@ -44,5 +44,5 @@ public interface ContratoEmpenhoDao extends CitGenericDAO {
44 44 Collection<ContratoEmpenho> findAllByContrato(Long contratoId);
45 45  
46 46 Collection<ContratoEmpenho> findEmpenhoParaLiberacao(Long contratoId);
47   -
  47 +
48 48 }
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/dao/EventoLiberacaoPagamentoEmpenhoDao.java
... ... @@ -23,4 +23,6 @@ public interface EventoLiberacaoPagamentoEmpenhoDao extends CitGenericDAO {
23 23  
24 24 BigDecimal getValorTotalExecutadoEmpenho(Long empenhoId);
25 25  
  26 + Boolean existeVinculoEmpenhoComLiberacaoPagamento(Long idEmpenho);
  27 +
26 28 }
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/dao/TermoReferenciaDao.java
1 1 package br.com.centralit.api.dao;
2 2  
  3 +import java.util.Collection;
  4 +
3 5 import br.com.centralit.api.model.TermoReferencia;
4 6 import br.com.centralit.framework.dao.arquitetura.CitGenericDAO;
5 7  
... ... @@ -12,21 +14,23 @@ import br.com.centralit.framework.dao.arquitetura.CitGenericDAO;
12 14 * <p><b>Title: </b></p> Termo Referencia DAO
13 15 *
14 16 * <p><b>Description: </b></p>
15   - *
  17 + *
16 18 * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">2389</a></p>
17 19 *
18   - * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>
19   - *
  20 + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>
  21 + *
20 22 * @since 06/01/2016 - 09:27:52
21 23 *
22 24 * @version 1.0.0
23 25 *
24 26 * @author juliana.barbosa
25   - *
  27 + *
26 28 */
27 29 public interface TermoReferenciaDao extends CitGenericDAO {
28 30  
29 31 TermoReferencia findTermoByEstudoTecnico(long estudoTecnicoId);
30 32  
  33 + Collection<TermoReferencia> findAutoCompleteTermoReferencia(String value,Long idOrganizacao);
  34 +
31 35  
32 36 }
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/dao/impl/ContratoEmpenhoDaoHibernate.java
... ... @@ -57,5 +57,6 @@ public class ContratoEmpenhoDaoHibernate extends CitGenericDAOImpl implements Co
57 57 search.addFilterNotIn("dominioFinalidadeEmpenho.codigo", DominioContrato.CODIGO_TIPO_FINALIDADE_EMPENHO_CONTRATO_ANULACAO);
58 58  
59 59 return this.search(search);
60   - }
  60 + }
  61 +
61 62 }
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/dao/impl/EventoLiberacaoPagamentoEmpenhoDaoHibernate.java
... ... @@ -8,6 +8,7 @@ import org.springframework.stereotype.Repository;
8 8 import br.com.centralit.api.dao.EventoLiberacaoPagamentoEmpenhoDao;
9 9 import br.com.centralit.api.model.EventoLiberacaoPagamentoEmpenho;
10 10 import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl;
  11 +import br.com.centralit.framework.dao.arquitetura.SearchSeven;
11 12  
12 13 import com.googlecode.genericdao.search.Search;
13 14  
... ... @@ -50,4 +51,15 @@ public class EventoLiberacaoPagamentoEmpenhoDaoHibernate extends CitGenericDAOIm
50 51 return valorTotalOs;
51 52 }
52 53  
  54 + @Override
  55 + public Boolean existeVinculoEmpenhoComLiberacaoPagamento(Long idEmpenho) {
  56 + SearchSeven search = new SearchSeven(this.persistentClass);
  57 +
  58 + search.addFilterEqual("contratoEmpenho.id", idEmpenho);
  59 +
  60 + List<Object> lista = this.search(search, this.persistentClass);
  61 +
  62 + return lista == null || lista.isEmpty() ? false : true;
  63 + }
  64 +
53 65 }
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/dao/impl/TermoReferenciaDaoHibernate.java
1 1 package br.com.centralit.api.dao.impl;
2 2  
  3 +import java.util.Collection;
  4 +
3 5 import org.springframework.stereotype.Repository;
4 6  
  7 +import com.googlecode.genericdao.search.Filter;
  8 +import com.googlecode.genericdao.search.Sort;
  9 +
5 10 import br.com.centralit.api.dao.TermoReferenciaDao;
6 11 import br.com.centralit.api.model.TermoReferencia;
7 12 import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl;
... ... @@ -10,6 +15,8 @@ import br.com.centralit.framework.dao.arquitetura.SearchSeven;
10 15 @Repository("termoReferenciaDao")
11 16 public class TermoReferenciaDaoHibernate extends CitGenericDAOImpl implements TermoReferenciaDao {
12 17  
  18 + private static final int MAX_RESULT_AUTO_COMPLETE = 10;
  19 +
13 20 public TermoReferenciaDaoHibernate() {
14 21  
15 22 super(TermoReferencia.class);
... ... @@ -22,4 +29,17 @@ public class TermoReferenciaDaoHibernate extends CitGenericDAOImpl implements Te
22 29 return searchUnique(searchSeven);
23 30 }
24 31  
  32 + @Override
  33 + public Collection<TermoReferencia> findAutoCompleteTermoReferencia(String value, Long idOrganizacao) {
  34 + SearchSeven searchSeven = new SearchSeven(this.persistentClass);
  35 +
  36 + searchSeven.addFilter(Filter.ilike("codigo", "%" + value + "%"));
  37 +
  38 + searchSeven.addFilterEqual("organizacao.id", idOrganizacao);
  39 +
  40 + searchSeven.setMaxResults(MAX_RESULT_AUTO_COMPLETE);
  41 +
  42 + return this.search(searchSeven, this.persistentClass);
  43 + }
  44 +
25 45 }
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/model/Contrato.java
... ... @@ -33,17 +33,29 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
33 33 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
34 34  
35 35 /**
36   - * <p><img src="http://centralit.com.br/images/logo_central.png"></p>
  36 + * <p>
  37 + * <img src="http://centralit.com.br/images/logo_central.png">
  38 + * </p>
37 39 *
38   - * <p><b>Company: </b> Central IT - Governança Corporativa - </p>
  40 + * <p>
  41 + * <b>Company: </b> Central IT - Governança Corporativa -
  42 + * </p>
39 43 *
40   - * <p><b>Title: </b></p>
  44 + * <p>
  45 + * <b>Title: </b>
  46 + * </p>
41 47 *
42   - * <p><b>Description: </b></p>
  48 + * <p>
  49 + * <b>Description: </b>
  50 + * </p>
43 51 *
44   - * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p>
  52 + * <p>
  53 + * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>
  54 + * </p>
45 55 *
46   - * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>
  56 + * <p>
  57 + * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
  58 + * </p>
47 59 *
48 60 * @since 19/01/2016 - 14:04:42
49 61 *
... ... @@ -53,29 +65,36 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize;
53 65 *
54 66 */
55 67 @Entity
56   -@Table(name="cnt_contrato")
57   -@JsonIgnoreProperties({ "valorTotalItens", "cnpjFornecedor", "valorTotalLiberado", "ultimaDataVigenciaFinal" })
  68 +@Table(name = "cnt_contrato")
  69 +@JsonIgnoreProperties({ "valorTotalItens", "cnpjFornecedor",
  70 + "valorTotalLiberado", "ultimaDataVigenciaFinal" })
58 71 public class Contrato extends PersistentObjectAuditOrganizacao {
59 72  
60   - /** Atributo serialVersionUID. */
61   - private static final long serialVersionUID = 1L;
  73 + /** Atributo serialVersionUID. */
  74 + private static final long serialVersionUID = 1L;
62 75  
63   - /** Atributo id. */
64   - @Id
65   - @GeneratedValue(strategy = GenerationType.AUTO)
66   - @JsonView({ Views.GenericView.class })
67   - private Long id;
  76 + /** Atributo id. */
  77 + @Id
  78 + @GeneratedValue(strategy = GenerationType.AUTO)
  79 + @JsonView({ Views.GenericView.class })
  80 + private Long id;
68 81  
69 82 /** Atributo programaAcao. */
70   - @ManyToOne(fetch = FetchType.LAZY, optional=true)
  83 + @ManyToOne(fetch = FetchType.LAZY, optional = true)
71 84 @JsonView({ ViewsContrato.ContratoEditView.class })
72 85 private ProgramaAcao programaAcao;
73 86  
74 87 /** Atributo numeroProcesso. */
75   - @Column(length = 30, nullable=false)
76   - @JsonView({ ViewsContrato.ContratoEditView.class, ViewsContrato.ContratoAutoCompleteView.class, ViewsContrato.OrdemFornecimentoEditView.class, ViewsContrato.EncerramentoContratoEditView.class,
77   - ViewsContrato.ContratoEventoEditView.class, ViewsContrato.EventoApostilamentoEditView.class, ViewsContrato.EventoPenalidadeEditView.class, ViewsContrato.EventoRecebimentoObjetoEditView.class})
78   - private Long numeroProcesso;
  88 + @Column(length = 30, nullable = false)
  89 + @JsonView({ ViewsContrato.ContratoEditView.class,
  90 + ViewsContrato.ContratoAutoCompleteView.class,
  91 + ViewsContrato.OrdemFornecimentoEditView.class,
  92 + ViewsContrato.EncerramentoContratoEditView.class,
  93 + ViewsContrato.ContratoEventoEditView.class,
  94 + ViewsContrato.EventoApostilamentoEditView.class,
  95 + ViewsContrato.EventoPenalidadeEditView.class,
  96 + ViewsContrato.EventoRecebimentoObjetoEditView.class })
  97 + private Long numeroProcesso;
79 98  
80 99 /** Atributo exercicio. */
81 100 @Column(name = "exercicio", nullable = false)
... ... @@ -86,108 +105,170 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
86 105  
87 106 /** Atributo numeroAnoContrato. */
88 107 @Column(length = 30, nullable = false)
89   - @JsonView({ ViewsContrato.ContratoEditView.class, ViewsContrato.ContratoAutoCompleteView.class, ViewsContrato.CronogramaExecucaoEditView.class, ViewsContrato.OrdemFornecimentoListView.class,
90   - ViewsContrato.RegistroOcorrenciaEditView.class, ViewsContrato.NotificacaoContratoEditView.class, ViewsContrato.ContratoEventoEditView.class, ViewsContrato.EventoApostilamentoEditView.class,
91   - ViewsContrato.EventoPenalidadeEditView.class, ViewsContrato.EventoRecebimentoObjetoEditView.class})
  108 + @JsonView({ ViewsContrato.ContratoEditView.class,
  109 + ViewsContrato.ContratoAutoCompleteView.class,
  110 + ViewsContrato.CronogramaExecucaoEditView.class,
  111 + ViewsContrato.OrdemFornecimentoListView.class,
  112 + ViewsContrato.RegistroOcorrenciaEditView.class,
  113 + ViewsContrato.NotificacaoContratoEditView.class,
  114 + ViewsContrato.ContratoEventoEditView.class,
  115 + ViewsContrato.EventoApostilamentoEditView.class,
  116 + ViewsContrato.EventoPenalidadeEditView.class,
  117 + ViewsContrato.EventoRecebimentoObjetoEditView.class })
92 118 private String numeroAnoContrato;
93 119  
94 120 /** Atributo numeroAnoContrato. */
95 121 @Transient
96   - @JsonView({ ViewsContrato.OrdemFornecimentoListView.class, ViewsContrato.ContratoAutoCompleteView.class, ViewsContrato.CronogramaExecucaoEditView.class, ViewsContrato.RegistroOcorrenciaEditView.class,
97   - ViewsContrato.NotificacaoContratoEditView.class, ViewsContrato.EncerramentoContratoListView.class, ViewsContrato.ContratoEventoEditView.class, ViewsContrato.EventoApostilamentoEditView.class,
98   - ViewsContrato.EventoPenalidadeEditView.class, ViewsContrato.EventoRecebimentoObjetoEditView.class})
  122 + @JsonView({ ViewsContrato.ContratoEditView.class,
  123 + ViewsContrato.OrdemFornecimentoListView.class,
  124 + ViewsContrato.ContratoAutoCompleteView.class,
  125 + ViewsContrato.CronogramaExecucaoEditView.class,
  126 + ViewsContrato.RegistroOcorrenciaEditView.class,
  127 + ViewsContrato.NotificacaoContratoEditView.class,
  128 + ViewsContrato.EncerramentoContratoListView.class,
  129 + ViewsContrato.ContratoEventoEditView.class,
  130 + ViewsContrato.EventoApostilamentoEditView.class,
  131 + ViewsContrato.EventoPenalidadeEditView.class,
  132 + ViewsContrato.EventoRecebimentoObjetoEditView.class })
99 133 private String numeroAnoContratoFormatado;
100 134  
101 135 /** Atributo dominioTipoContrato. */
102 136 @ManyToOne(fetch = FetchType.LAZY, optional = false)
103   - @JsonView({ ViewsContrato.ContratoEditView.class, ViewsContrato.ContratoAutoCompleteView.class, ViewsContrato.EncerramentoContratoEditView.class, ViewsContrato.RegistroOcorrenciaEditView.class })
104   - private Dominio dominioTipoContrato;
  137 + @JsonView({ ViewsContrato.ContratoEditView.class,
  138 + ViewsContrato.ContratoAutoCompleteView.class,
  139 + ViewsContrato.EncerramentoContratoEditView.class,
  140 + ViewsContrato.RegistroOcorrenciaEditView.class })
  141 + private Dominio dominioTipoContrato;
105 142  
106   - /** Atributo dominioTipoAquisicao. */
  143 + /** Atributo dominioTipoAquisicao. */
107 144 @ManyToOne(fetch = FetchType.LAZY, optional = false)
108   - @JsonView({ ViewsContrato.ContratoEditView.class, ViewsContrato.ContratoAutoCompleteView.class, ViewsContrato.OrdemFornecimentoEditView.class, ViewsContrato.EncerramentoContratoEditView.class })
109   - private Dominio dominioTipoAquisicao;
  145 + @JsonView({ ViewsContrato.ContratoEditView.class,
  146 + ViewsContrato.ContratoAutoCompleteView.class,
  147 + ViewsContrato.OrdemFornecimentoEditView.class,
  148 + ViewsContrato.EncerramentoContratoEditView.class })
  149 + private Dominio dominioTipoAquisicao;
110 150  
111   - /** Atributo dataCelebracao. */
  151 + /** Atributo dataCelebracao. */
112 152 @Column(nullable = false)
113   - @Temporal(TemporalType.TIMESTAMP)
114   - @JsonSerialize(using = JsonCalendarSimpleDateSerializer.class)
115   - @JsonDeserialize(using = JsonCalendarSimpleDateDeserializer.class)
116   - @JsonView({ ViewsContrato.ContratoEditView.class, ViewsContrato.ContratoAutoCompleteView.class, ViewsContrato.EncerramentoContratoEditView.class })
117   - private Calendar dataCelebracao;
  153 + @Temporal(TemporalType.TIMESTAMP)
  154 + @JsonSerialize(using = JsonCalendarSimpleDateSerializer.class)
  155 + @JsonDeserialize(using = JsonCalendarSimpleDateDeserializer.class)
  156 + @JsonView({ ViewsContrato.ContratoEditView.class,
  157 + ViewsContrato.ContratoAutoCompleteView.class,
  158 + ViewsContrato.EncerramentoContratoEditView.class })
  159 + private Calendar dataCelebracao;
118 160  
119   - /** Atributo dataVigenciaInicial. */
  161 + /** Atributo dataVigenciaInicial. */
120 162 @Column(nullable = false)
121   - @Temporal(TemporalType.TIMESTAMP)
122   - @JsonSerialize(using = JsonCalendarSimpleDateSerializer.class)
123   - @JsonDeserialize(using = JsonCalendarSimpleDateDeserializer.class)
124   - @JsonView({ ViewsContrato.ContratoEditView.class, ViewsContrato.ContratoAutoCompleteView.class, ViewsContrato.OrdemFornecimentoEditView.class, ViewsContrato.CronogramaExecucaoEditView.class,
125   - ViewsContrato.RegistroOcorrenciaEditView.class, ViewsContrato.NotificacaoContratoEditView.class, ViewsContrato.EncerramentoContratoEditView.class, ViewsContrato.EventoApostilamentoEditView.class,
126   - ViewsContrato.EventoRecebimentoObjetoEditView.class})
127   - private Calendar dataVigenciaInicial;
128   -
129   - /** Atributo dataVigenciaFinal. */
  163 + @Temporal(TemporalType.TIMESTAMP)
  164 + @JsonSerialize(using = JsonCalendarSimpleDateSerializer.class)
  165 + @JsonDeserialize(using = JsonCalendarSimpleDateDeserializer.class)
  166 + @JsonView({ ViewsContrato.ContratoEditView.class,
  167 + ViewsContrato.ContratoAutoCompleteView.class,
  168 + ViewsContrato.OrdemFornecimentoEditView.class,
  169 + ViewsContrato.CronogramaExecucaoEditView.class,
  170 + ViewsContrato.RegistroOcorrenciaEditView.class,
  171 + ViewsContrato.NotificacaoContratoEditView.class,
  172 + ViewsContrato.EncerramentoContratoEditView.class,
  173 + ViewsContrato.EventoApostilamentoEditView.class,
  174 + ViewsContrato.EventoRecebimentoObjetoEditView.class })
  175 + private Calendar dataVigenciaInicial;
  176 +
  177 + /** Atributo dataVigenciaFinal. */
130 178 @Column(nullable = false)
131   - @Temporal(TemporalType.TIMESTAMP)
132   - @JsonSerialize(using = JsonCalendarSimpleDateSerializer.class)
133   - @JsonDeserialize(using = JsonCalendarSimpleDateDeserializer.class)
134   - @JsonView({ ViewsContrato.ContratoEditView.class, ViewsContrato.ContratoAutoCompleteView.class, ViewsContrato.OrdemFornecimentoEditView.class, ViewsContrato.CronogramaExecucaoEditView.class,
135   - ViewsContrato.RegistroOcorrenciaEditView.class, ViewsContrato.NotificacaoContratoEditView.class, ViewsContrato.EncerramentoContratoEditView.class, ViewsContrato.EventoApostilamentoEditView.class,
136   - ViewsContrato.EventoRecebimentoObjetoEditView.class })
137   - private Calendar dataVigenciaFinal;
138   -
  179 + @Temporal(TemporalType.TIMESTAMP)
  180 + @JsonSerialize(using = JsonCalendarSimpleDateSerializer.class)
  181 + @JsonDeserialize(using = JsonCalendarSimpleDateDeserializer.class)
  182 + @JsonView({ ViewsContrato.ContratoEditView.class,
  183 + ViewsContrato.ContratoAutoCompleteView.class,
  184 + ViewsContrato.OrdemFornecimentoEditView.class,
  185 + ViewsContrato.CronogramaExecucaoEditView.class,
  186 + ViewsContrato.RegistroOcorrenciaEditView.class,
  187 + ViewsContrato.NotificacaoContratoEditView.class,
  188 + ViewsContrato.EncerramentoContratoEditView.class,
  189 + ViewsContrato.EventoApostilamentoEditView.class,
  190 + ViewsContrato.EventoRecebimentoObjetoEditView.class })
  191 + private Calendar dataVigenciaFinal;
  192 +
139 193 @Transient
140 194 @JsonSerialize(using = JsonCalendarSimpleDateSerializer.class)
141   - @JsonDeserialize(using = JsonCalendarSimpleDateDeserializer.class)
142   - @JsonView({ ViewsContrato.ContratoEditView.class, ViewsContrato.ContratoAutoCompleteView.class, ViewsContrato.OrdemFornecimentoEditView.class, ViewsContrato.CronogramaExecucaoEditView.class,
143   - ViewsContrato.RegistroOcorrenciaEditView.class, ViewsContrato.NotificacaoContratoEditView.class, ViewsContrato.EncerramentoContratoEditView.class, ViewsContrato.EventoApostilamentoEditView.class,
144   - ViewsContrato.EventoRecebimentoObjetoEditView.class })
  195 + @JsonDeserialize(using = JsonCalendarSimpleDateDeserializer.class)
  196 + @JsonView({ ViewsContrato.ContratoEditView.class,
  197 + ViewsContrato.ContratoAutoCompleteView.class,
  198 + ViewsContrato.OrdemFornecimentoEditView.class,
  199 + ViewsContrato.CronogramaExecucaoEditView.class,
  200 + ViewsContrato.RegistroOcorrenciaEditView.class,
  201 + ViewsContrato.NotificacaoContratoEditView.class,
  202 + ViewsContrato.EncerramentoContratoEditView.class,
  203 + ViewsContrato.EventoApostilamentoEditView.class,
  204 + ViewsContrato.EventoRecebimentoObjetoEditView.class })
145 205 private Calendar dataUltimaVigenciaFinal;
146 206  
147   - /** Atributo dominioSituacaoAtual. */
148   - @ManyToOne(fetch = FetchType.LAZY, optional=false)
149   - @JsonView({ ViewsContrato.ContratoEditView.class, ViewsContrato.ContratoAutoCompleteView.class, ViewsContrato.OrdemFornecimentoEditView.class, ViewsContrato.RegistroOcorrenciaEditView.class,
150   - ViewsContrato.ContratoEventoEditView.class, ViewsContrato.EventoApostilamentoEditView.class })
151   - private Dominio dominioSituacaoAtual;
152   -
153   - /** Atributo fornecedor. */
154   - @ManyToOne(fetch = FetchType.LAZY, optional=false)
155   - @JsonView({ ViewsContrato.ContratoEditView.class, ViewsContrato.ContratoAutoCompleteView.class, ViewsContrato.OrdemFornecimentoEditView.class, ViewsContrato.CronogramaExecucaoEditView.class,
156   - ViewsContrato.RegistroOcorrenciaEditView.class, ViewsContrato.NotificacaoContratoEditView.class, ViewsContrato.EncerramentoContratoListView.class, ViewsContrato.EventoApostilamentoEditView.class,
157   - ViewsContrato.EventoPenalidadeEditView.class})
158   - private Fornecedor fornecedor;
  207 + /** Atributo dominioSituacaoAtual. */
  208 + @ManyToOne(fetch = FetchType.LAZY, optional = false)
  209 + @JsonView({ ViewsContrato.ContratoEditView.class,
  210 + ViewsContrato.ContratoAutoCompleteView.class,
  211 + ViewsContrato.OrdemFornecimentoEditView.class,
  212 + ViewsContrato.RegistroOcorrenciaEditView.class,
  213 + ViewsContrato.ContratoEventoEditView.class,
  214 + ViewsContrato.EventoApostilamentoEditView.class })
  215 + private Dominio dominioSituacaoAtual;
  216 +
  217 + /** Atributo fornecedor. */
  218 + @ManyToOne(fetch = FetchType.LAZY, optional = false)
  219 + @JsonView({ ViewsContrato.ContratoEditView.class,
  220 + ViewsContrato.ContratoAutoCompleteView.class,
  221 + ViewsContrato.OrdemFornecimentoEditView.class,
  222 + ViewsContrato.CronogramaExecucaoEditView.class,
  223 + ViewsContrato.RegistroOcorrenciaEditView.class,
  224 + ViewsContrato.NotificacaoContratoEditView.class,
  225 + ViewsContrato.EncerramentoContratoListView.class,
  226 + ViewsContrato.EventoApostilamentoEditView.class,
  227 + ViewsContrato.EventoPenalidadeEditView.class })
  228 + private Fornecedor fornecedor;
159 229  
160 230 /** Atributo disponivel. */
161 231 @JsonView({ ViewsContrato.ContratoEditView.class })
162 232 private boolean renovavel;
163 233  
164 234 /** Atributo objetoContratacao. */
165   - @JsonView({ ViewsContrato.ContratoEditView.class, ViewsContrato.ContratoAutoCompleteView.class, ViewsContrato.EncerramentoContratoEditView.class, ViewsContrato.EventoApostilamentoEditView.class })
166   - @Column(length = 1024, nullable=false)
167   - private String objetoContratacao;
168   -
169   - /** Atributo valorContrato. */
170   - @Column(precision = 20, scale = 4)
171   - @JsonDeserialize(using = MoneyDeserializer.class)
172   - @JsonView({ ViewsContrato.ContratoEditView.class, ViewsContrato.ContratoAutoCompleteView.class, ViewsContrato.CronogramaExecucaoEditView.class, ViewsContrato.EncerramentoContratoEditView.class,
173   - ViewsContrato.RegistroOcorrenciaEditView.class, ViewsContrato.ContratoEventoEditView.class })
174   - private BigDecimal valorContrato;
175   -
176   - @Transient
177   - @JsonView({ ViewsContrato.ContratoEditView.class, ViewsContrato.ContratoAutoCompleteView.class, ViewsContrato.CronogramaExecucaoEditView.class, ViewsContrato.EncerramentoContratoEditView.class,
178   - ViewsContrato.RegistroOcorrenciaEditView.class, ViewsContrato.ContratoEventoEditView.class })
179   - private BigDecimal valorTotalContrato;
  235 + @JsonView({ ViewsContrato.ContratoEditView.class,
  236 + ViewsContrato.ContratoAutoCompleteView.class,
  237 + ViewsContrato.EncerramentoContratoEditView.class,
  238 + ViewsContrato.EventoApostilamentoEditView.class })
  239 + @Column(length = 1024, nullable = false)
  240 + private String objetoContratacao;
  241 +
  242 + /** Atributo valorContrato. */
  243 + @Column(precision = 20, scale = 4)
  244 + @JsonDeserialize(using = MoneyDeserializer.class)
  245 + @JsonView({ ViewsContrato.ContratoEditView.class,
  246 + ViewsContrato.ContratoAutoCompleteView.class,
  247 + ViewsContrato.CronogramaExecucaoEditView.class,
  248 + ViewsContrato.EncerramentoContratoEditView.class,
  249 + ViewsContrato.RegistroOcorrenciaEditView.class,
  250 + ViewsContrato.ContratoEventoEditView.class })
  251 + private BigDecimal valorContrato;
  252 +
  253 + @Transient
  254 + @JsonView({ ViewsContrato.ContratoEditView.class,
  255 + ViewsContrato.ContratoAutoCompleteView.class,
  256 + ViewsContrato.CronogramaExecucaoEditView.class,
  257 + ViewsContrato.EncerramentoContratoEditView.class,
  258 + ViewsContrato.RegistroOcorrenciaEditView.class,
  259 + ViewsContrato.ContratoEventoEditView.class })
  260 + private BigDecimal valorTotalContrato;
180 261  
181 262 /** Atributo dominioFormaPagamentoContrato. */
182   - @ManyToOne(fetch = FetchType.LAZY, optional=false)
183   - @JoinColumn(name = "formapagamentocontrato_id")
184   - @JsonView({ ViewsContrato.ContratoEditView.class })
185   - private Dominio dominioFormaPagamentoContrato;
  263 + @ManyToOne(fetch = FetchType.LAZY, optional = false)
  264 + @JoinColumn(name = "formapagamentocontrato_id")
  265 + @JsonView({ ViewsContrato.ContratoEditView.class })
  266 + private Dominio dominioFormaPagamentoContrato;
186 267  
187 268 /** Atributo numeroParcela. */
188 269 @JsonView({ ViewsContrato.ContratoEditView.class })
189 270 private Long numeroParcela;
190   -
  271 +
191 272 /** Atributo ordensFornecimento. */
192 273 @OneToMany(fetch = FetchType.LAZY, mappedBy = "contrato", cascade = CascadeType.ALL)
193 274 @JsonView({ ViewsContrato.ContratoEditView.class })
... ... @@ -205,43 +286,46 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
205 286  
206 287 /** Atributo ctrtEmpenhos. */
207 288 @OneToMany(fetch = FetchType.LAZY, mappedBy = "contratoAditivo", cascade = CascadeType.ALL, targetEntity = EventoAditivo.class)
208   - @JsonView({ ViewsContrato.EventoAditivoEditView.class, ViewsContrato.ContratoEventoEditView.class, ViewsContrato.ContratoEditView.class })
  289 + @JsonView({ ViewsContrato.EventoAditivoEditView.class,
  290 + ViewsContrato.ContratoEventoEditView.class,
  291 + ViewsContrato.ContratoEditView.class })
209 292 private Collection<EventoAditivo> aditivos;
210 293  
211   - /** Atributo valorGarantia. */
212   - @Column(precision = 20, scale = 4)
213   - @JsonDeserialize(using = MoneyDeserializer.class)
214   - @JsonView({ ViewsContrato.ContratoEditView.class })
215   - private BigDecimal valorTotalEmpenhado;
  294 + /** Atributo valorGarantia. */
  295 + @Column(precision = 20, scale = 4)
  296 + @JsonDeserialize(using = MoneyDeserializer.class)
  297 + @JsonView({ ViewsContrato.ContratoEditView.class })
  298 + private BigDecimal valorTotalEmpenhado;
216 299  
217 300 /** Atributo numeroAnoEditalLicitacao. */
218   - @Column(length = 10, nullable=false)
219   - @JsonView({ ViewsContrato.ContratoEditView.class })
220   - private String numeroAnoEditalLicitacao;
  301 + @Column(length = 10, nullable = false)
  302 + @JsonView({ ViewsContrato.ContratoEditView.class })
  303 + private String numeroAnoEditalLicitacao;
221 304  
222   - /** Atributo dataPublicacaoLicitacao. */
223   - @Temporal(TemporalType.TIMESTAMP)
224   - @JsonSerialize(using = JsonCalendarSimpleDateSerializer.class)
225   - @JsonDeserialize(using = JsonCalendarSimpleDateDeserializer.class)
226   - @JsonView({ ViewsContrato.ContratoEditView.class })
227   - private Calendar dataPublicacaoLicitacao;
  305 + /** Atributo dataPublicacaoLicitacao. */
  306 + @Temporal(TemporalType.TIMESTAMP)
  307 + @JsonSerialize(using = JsonCalendarSimpleDateSerializer.class)
  308 + @JsonDeserialize(using = JsonCalendarSimpleDateDeserializer.class)
  309 + @JsonView({ ViewsContrato.ContratoEditView.class })
  310 + private Calendar dataPublicacaoLicitacao;
228 311  
229 312 /** Atributo dominioModalidadeLicitacao. */
230   - @ManyToOne(fetch = FetchType.LAZY, optional=false)
231   - @JsonView({ ViewsContrato.ContratoEditView.class })
232   - private Dominio dominioModalidadeLicitacao;
  313 + @ManyToOne(fetch = FetchType.LAZY, optional = false)
  314 + @JsonView({ ViewsContrato.ContratoEditView.class })
  315 + private Dominio dominioModalidadeLicitacao;
233 316  
234 317 /** Atributo dominioTipoLicitacao. */
235   - @ManyToOne(fetch = FetchType.LAZY, optional=true)
236   - @JsonView({ ViewsContrato.ContratoEditView.class })
237   - private Dominio dominioTipoLicitacao;
  318 + @ManyToOne(fetch = FetchType.LAZY, optional = true)
  319 + @JsonView({ ViewsContrato.ContratoEditView.class })
  320 + private Dominio dominioTipoLicitacao;
238 321  
239 322 /** Atributo ctrtEmpenhos. */
240 323 @OneToMany(fetch = FetchType.LAZY, mappedBy = "contrato", cascade = CascadeType.ALL)
241   - @JsonView({ ViewsContrato.ContratoEditView.class, ViewsContrato.CronogramaExecucaoEditView.class })
  324 + @JsonView({ ViewsContrato.ContratoEditView.class,
  325 + ViewsContrato.CronogramaExecucaoEditView.class })
242 326 private Collection<ContratoItem> ctrtItens;
243 327  
244   - /** Atributo garantias. ctrtEnvolvidos*/
  328 + /** Atributo garantias. ctrtEnvolvidos */
245 329 @OneToMany(fetch = FetchType.LAZY, mappedBy = "contrato", cascade = CascadeType.ALL)
246 330 @JsonView({ ViewsContrato.ContratoEditView.class })
247 331 private Collection<ContratoEnvolvido> ctrtEnvolvidos;
... ... @@ -250,29 +334,29 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
250 334 @JsonView({ ViewsContrato.ContratoEditView.class })
251 335 private Collection<ContratoEnvolvidoJustificativa> justificativas;
252 336  
253   - /** Atributo dominioModalidadeGarantia. */
254   - @ManyToOne(fetch = FetchType.LAZY)
255   - @JsonView({ ViewsContrato.ContratoEditView.class })
256   - private Dominio dominioModalidadeGarantia;
  337 + /** Atributo dominioModalidadeGarantia. */
  338 + @ManyToOne(fetch = FetchType.LAZY)
  339 + @JsonView({ ViewsContrato.ContratoEditView.class })
  340 + private Dominio dominioModalidadeGarantia;
257 341  
258 342 /** Atributo dataVigencia. */
259   - @Temporal(TemporalType.TIMESTAMP)
260   - @JsonSerialize(using = JsonCalendarSimpleDateSerializer.class)
261   - @JsonDeserialize(using = JsonCalendarSimpleDateDeserializer.class)
262   - @JsonView({ ViewsContrato.ContratoEditView.class })
263   - private Calendar dataVigenciaGarantia;
264   -
265   - /** Atributo valorGarantia. */
266   - @Column(precision = 20, scale = 4)
267   - @JsonDeserialize(using = MoneyDeserializer.class)
268   - @JsonView({ ViewsContrato.ContratoEditView.class })
269   - private BigDecimal valorGarantia;
270   -
271   - /** Atributo percentual. */
272   - @Column(precision = 20, scale = 4)
273   - @JsonDeserialize(using = MoneyDeserializer.class)
274   - @JsonView({ ViewsContrato.ContratoEditView.class })
275   - private BigDecimal percentualGarantia;
  343 + @Temporal(TemporalType.TIMESTAMP)
  344 + @JsonSerialize(using = JsonCalendarSimpleDateSerializer.class)
  345 + @JsonDeserialize(using = JsonCalendarSimpleDateDeserializer.class)
  346 + @JsonView({ ViewsContrato.ContratoEditView.class })
  347 + private Calendar dataVigenciaGarantia;
  348 +
  349 + /** Atributo valorGarantia. */
  350 + @Column(precision = 20, scale = 4)
  351 + @JsonDeserialize(using = MoneyDeserializer.class)
  352 + @JsonView({ ViewsContrato.ContratoEditView.class })
  353 + private BigDecimal valorGarantia;
  354 +
  355 + /** Atributo percentual. */
  356 + @Column(precision = 20, scale = 4)
  357 + @JsonDeserialize(using = MoneyDeserializer.class)
  358 + @JsonView({ ViewsContrato.ContratoEditView.class })
  359 + private BigDecimal percentualGarantia;
276 360  
277 361 /** Atributo documentos. */
278 362 @OneToMany(fetch = FetchType.LAZY, mappedBy = "contrato", cascade = CascadeType.ALL, orphanRemoval = true)
... ... @@ -284,6 +368,10 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
284 368 @JsonView({ ViewsContrato.ContratoEditView.class })
285 369 private Collection<ContratoObservacao> observacoes;
286 370  
  371 + @ManyToOne(fetch = FetchType.LAZY, optional = false)
  372 + @JsonView({ ViewsContrato.ContratoEditView.class, ViewsContrato.ContratoAutoCompleteView.class })
  373 + private TermoReferencia termoReferencia;
  374 +
287 375 /**
288 376 * Retorna o valor do atributo <code>id</code>
289 377 *
... ... @@ -294,7 +382,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
294 382 return id;
295 383 }
296 384  
297   -
298 385 /**
299 386 * Define o valor do atributo <code>id</code>.
300 387 *
... ... @@ -305,7 +392,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
305 392 this.id = id;
306 393 }
307 394  
308   -
309 395 /**
310 396 * Retorna o valor do atributo <code>programaAcao</code>
311 397 *
... ... @@ -316,7 +402,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
316 402 return programaAcao;
317 403 }
318 404  
319   -
320 405 /**
321 406 * Define o valor do atributo <code>programaAcao</code>.
322 407 *
... ... @@ -327,7 +412,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
327 412 this.programaAcao = programaAcao;
328 413 }
329 414  
330   -
331 415 /**
332 416 * Retorna o valor do atributo <code>numeroProcesso</code>
333 417 *
... ... @@ -338,7 +422,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
338 422 return numeroProcesso;
339 423 }
340 424  
341   -
342 425 /**
343 426 * Define o valor do atributo <code>numeroProcesso</code>.
344 427 *
... ... @@ -349,7 +432,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
349 432 this.numeroProcesso = numeroProcesso;
350 433 }
351 434  
352   -
353 435 /**
354 436 * Retorna o valor do atributo <code>exercicio</code>
355 437 *
... ... @@ -360,7 +442,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
360 442 return exercicio;
361 443 }
362 444  
363   -
364 445 /**
365 446 * Define o valor do atributo <code>exercicio</code>.
366 447 *
... ... @@ -372,13 +453,16 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
372 453 }
373 454  
374 455 /**
375   - * Retorna o valor do atributo <code>numeroAnoContrato</code> formatado com máscara
  456 + * Retorna o valor do atributo <code>numeroAnoContrato</code> formatado com
  457 + * máscara
376 458 *
377 459 * @return <code>String</code>
378 460 */
379 461 public String getNumeroAnoContratoFormatado() {
380   - if (this.numeroAnoContrato != null && this.numeroAnoContrato.length() == 13) {
381   - this.numeroAnoContratoFormatado = numeroAnoContrato.substring(0, 9) + "/" + numeroAnoContrato.substring(9, 13);
  462 + if (this.numeroAnoContrato != null
  463 + && this.numeroAnoContrato.length() == 13) {
  464 + this.numeroAnoContratoFormatado = numeroAnoContrato.substring(0, 9)
  465 + + "/" + numeroAnoContrato.substring(9, 13);
382 466 }
383 467 return this.numeroAnoContratoFormatado;
384 468 }
... ... @@ -393,7 +477,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
393 477 return numeroAnoContrato;
394 478 }
395 479  
396   -
397 480 /**
398 481 * Define o valor do atributo <code>numeroAnoContrato</code>.
399 482 *
... ... @@ -404,7 +487,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
404 487 this.numeroAnoContrato = numeroAnoContrato;
405 488 }
406 489  
407   -
408 490 /**
409 491 * Retorna o valor do atributo <code>dominioTipoContrato</code>
410 492 *
... ... @@ -415,7 +497,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
415 497 return dominioTipoContrato;
416 498 }
417 499  
418   -
419 500 /**
420 501 * Define o valor do atributo <code>dominioTipoContrato</code>.
421 502 *
... ... @@ -426,7 +507,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
426 507 this.dominioTipoContrato = dominioTipoContrato;
427 508 }
428 509  
429   -
430 510 /**
431 511 * Retorna o valor do atributo <code>dominioTipoAquisicao</code>
432 512 *
... ... @@ -437,7 +517,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
437 517 return dominioTipoAquisicao;
438 518 }
439 519  
440   -
441 520 /**
442 521 * Define o valor do atributo <code>dominioTipoAquisicao</code>.
443 522 *
... ... @@ -448,7 +527,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
448 527 this.dominioTipoAquisicao = dominioTipoAquisicao;
449 528 }
450 529  
451   -
452 530 /**
453 531 * Retorna o valor do atributo <code>dataCelebracao</code>
454 532 *
... ... @@ -459,7 +537,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
459 537 return dataCelebracao;
460 538 }
461 539  
462   -
463 540 /**
464 541 * Define o valor do atributo <code>dataCelebracao</code>.
465 542 *
... ... @@ -470,7 +547,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
470 547 this.dataCelebracao = dataCelebracao;
471 548 }
472 549  
473   -
474 550 /**
475 551 * Retorna o valor do atributo <code>dataVigenciaInicial</code>
476 552 *
... ... @@ -481,7 +557,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
481 557 return dataVigenciaInicial;
482 558 }
483 559  
484   -
485 560 /**
486 561 * Define o valor do atributo <code>dataVigenciaInicial</code>.
487 562 *
... ... @@ -492,7 +567,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
492 567 this.dataVigenciaInicial = dataVigenciaInicial;
493 568 }
494 569  
495   -
496 570 /**
497 571 * Retorna o valor do atributo <code>dataVigenciaFinal</code>
498 572 *
... ... @@ -503,7 +577,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
503 577 return dataVigenciaFinal;
504 578 }
505 579  
506   -
507 580 /**
508 581 * Define o valor do atributo <code>dataVigenciaFinal</code>.
509 582 *
... ... @@ -514,7 +587,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
514 587 this.dataVigenciaFinal = dataVigenciaFinal;
515 588 }
516 589  
517   -
518 590 /**
519 591 * Retorna o valor do atributo <code>dataUltimaVigenciaFinal</code>
520 592 *
... ... @@ -526,7 +598,9 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
526 598 } else {
527 599 this.dataUltimaVigenciaFinal = this.dataVigenciaFinal;
528 600 for (EventoAditivo aditivo : this.aditivos) {
529   - if (aditivo.getAditivoDePrazo() && aditivo.getDataFim().after(this.dataUltimaVigenciaFinal)) {
  601 + if (aditivo.getAditivoDePrazo()
  602 + && aditivo.getDataFim().after(
  603 + this.dataUltimaVigenciaFinal)) {
530 604 this.dataUltimaVigenciaFinal = aditivo.getDataFim();
531 605 }
532 606 }
... ... @@ -534,18 +608,16 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
534 608 return this.dataUltimaVigenciaFinal;
535 609 }
536 610  
537   -
538 611 /**
539 612 * Define o valor do atributo <code>dataUltimaVigenciaFinal</code>.
540 613 *
541   - * @param dataUltimaVigenciaFinal
  614 + * @param dataUltimaVigenciaFinal
542 615 */
543 616 public void setDataUltimaVigenciaFinal(Calendar dataUltimaVigenciaFinal) {
544   -
  617 +
545 618 this.dataUltimaVigenciaFinal = dataUltimaVigenciaFinal;
546 619 }
547 620  
548   -
549 621 /**
550 622 * Retorna o valor do atributo <code>dominioSituacaoAtual</code>
551 623 *
... ... @@ -556,7 +628,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
556 628 return dominioSituacaoAtual;
557 629 }
558 630  
559   -
560 631 /**
561 632 * Define o valor do atributo <code>dominioSituacaoAtual</code>.
562 633 *
... ... @@ -567,7 +638,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
567 638 this.dominioSituacaoAtual = dominioSituacaoAtual;
568 639 }
569 640  
570   -
571 641 /**
572 642 * Retorna o valor do atributo <code>fornecedor</code>
573 643 *
... ... @@ -578,7 +648,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
578 648 return fornecedor;
579 649 }
580 650  
581   -
582 651 /**
583 652 * Define o valor do atributo <code>fornecedor</code>.
584 653 *
... ... @@ -589,7 +658,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
589 658 this.fornecedor = fornecedor;
590 659 }
591 660  
592   -
593 661 /**
594 662 * Retorna o valor do atributo <code>renovavel</code>
595 663 *
... ... @@ -600,7 +668,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
600 668 return renovavel;
601 669 }
602 670  
603   -
604 671 /**
605 672 * Define o valor do atributo <code>renovavel</code>.
606 673 *
... ... @@ -611,7 +678,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
611 678 this.renovavel = renovavel;
612 679 }
613 680  
614   -
615 681 /**
616 682 * Retorna o valor do atributo <code>objetoContratacao</code>
617 683 *
... ... @@ -622,7 +688,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
622 688 return objetoContratacao;
623 689 }
624 690  
625   -
626 691 /**
627 692 * Define o valor do atributo <code>objetoContratacao</code>.
628 693 *
... ... @@ -633,8 +698,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
633 698 this.objetoContratacao = objetoContratacao;
634 699 }
635 700  
636   -
637   -
638 701 /**
639 702 * Retorna o valor do atributo <code>valorContrato</code>
640 703 *
... ... @@ -645,8 +708,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
645 708 return valorContrato;
646 709 }
647 710  
648   -
649   -
650 711 /**
651 712 * Define o valor do atributo <code>valorContrato</code>.
652 713 *
... ... @@ -656,7 +717,7 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
656 717  
657 718 this.valorContrato = valorContrato;
658 719 }
659   -
  720 +
660 721 /**
661 722 * Retorna o valor do atributo <code>valorTotalContrato</code>
662 723 *
... ... @@ -668,27 +729,36 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
668 729 } else {
669 730 this.valorTotalContrato = this.valorContrato;
670 731 for (EventoAditivo aditivo : this.aditivos) {
671   - if (aditivo.getAditivoDeValor() && aditivo.getTipoAlteracaoValor().getCodigo().equals(DominioContrato.CODIGO_TIPO_ALTERACAO_VALOR_ACRESCIMO)) {
672   - this.valorTotalContrato = this.valorTotalContrato.add(aditivo.getValorAditivo());
673   - } else if (aditivo.getAditivoDeValor() && aditivo.getTipoAlteracaoValor().getCodigo().equals(DominioContrato.CODIGO_TIPO_ALTERACAO_VALOR_SUPRESSAO)) {
674   - this.valorTotalContrato = this.valorTotalContrato.subtract(aditivo.getValorAditivo());
  732 + if (aditivo.getAditivoDeValor()
  733 + && aditivo
  734 + .getTipoAlteracaoValor()
  735 + .getCodigo()
  736 + .equals(DominioContrato.CODIGO_TIPO_ALTERACAO_VALOR_ACRESCIMO)) {
  737 + this.valorTotalContrato = this.valorTotalContrato
  738 + .add(aditivo.getValorAditivo());
  739 + } else if (aditivo.getAditivoDeValor()
  740 + && aditivo
  741 + .getTipoAlteracaoValor()
  742 + .getCodigo()
  743 + .equals(DominioContrato.CODIGO_TIPO_ALTERACAO_VALOR_SUPRESSAO)) {
  744 + this.valorTotalContrato = this.valorTotalContrato
  745 + .subtract(aditivo.getValorAditivo());
675 746 }
676 747 }
677 748 }
678 749 return this.valorTotalContrato;
679 750 }
680   -
  751 +
681 752 /**
682 753 * Define o valor do atributo <code>valorTotalContrato</code>.
683 754 *
684   - * @param valorTotalContrato
  755 + * @param valorTotalContrato
685 756 */
686 757 public void setValorTotalContrato(BigDecimal valorTotalContrato) {
687   -
  758 +
688 759 this.valorTotalContrato = valorTotalContrato;
689 760 }
690 761  
691   -
692 762 /**
693 763 * Retorna o valor do atributo <code>dominioFormaPagamentoContrato</code>
694 764 *
... ... @@ -699,20 +769,17 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
699 769 return dominioFormaPagamentoContrato;
700 770 }
701 771  
702   -
703   -
704 772 /**
705 773 * Define o valor do atributo <code>dominioFormaPagamentoContrato</code>.
706 774 *
707 775 * @param dominioFormaPagamentoContrato
708 776 */
709   - public void setDominioFormaPagamentoContrato(Dominio dominioFormaPagamentoContrato) {
  777 + public void setDominioFormaPagamentoContrato(
  778 + Dominio dominioFormaPagamentoContrato) {
710 779  
711 780 this.dominioFormaPagamentoContrato = dominioFormaPagamentoContrato;
712 781 }
713 782  
714   -
715   -
716 783 /**
717 784 * Retorna o valor do atributo <code>numeroParcela</code>
718 785 *
... ... @@ -723,8 +790,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
723 790 return numeroParcela;
724 791 }
725 792  
726   -
727   -
728 793 /**
729 794 * Define o valor do atributo <code>numeroParcela</code>.
730 795 *
... ... @@ -735,8 +800,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
735 800 this.numeroParcela = numeroParcela;
736 801 }
737 802  
738   -
739   -
740 803 /**
741 804 * Retorna o valor do atributo <code>ctrtValoresPagamento</code>
742 805 *
... ... @@ -747,19 +810,17 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
747 810 return ctrtValoresPagamento;
748 811 }
749 812  
750   -
751   -
752 813 /**
753 814 * Define o valor do atributo <code>ctrtValoresPagamento</code>.
754 815 *
755 816 * @param ctrtValoresPagamento
756 817 */
757   - public void setCtrtValoresPagamento(Collection<ContratoValorPagamento> ctrtValoresPagamento) {
  818 + public void setCtrtValoresPagamento(
  819 + Collection<ContratoValorPagamento> ctrtValoresPagamento) {
758 820  
759 821 this.ctrtValoresPagamento = ctrtValoresPagamento;
760 822 }
761 823  
762   -
763 824 /**
764 825 * Retorna o valor do atributo <code>ctrtEmpenhos</code>
765 826 *
... ... @@ -770,7 +831,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
770 831 return ctrtEmpenhos;
771 832 }
772 833  
773   -
774 834 /**
775 835 * Define o valor do atributo <code>ctrtEmpenhos</code>.
776 836 *
... ... @@ -781,8 +841,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
781 841 this.ctrtEmpenhos = ctrtEmpenhos;
782 842 }
783 843  
784   -
785   -
786 844 /**
787 845 * Retorna o valor do atributo <code>aditivos</code>
788 846 *
... ... @@ -793,8 +851,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
793 851 return aditivos;
794 852 }
795 853  
796   -
797   -
798 854 /**
799 855 * Define o valor do atributo <code>aditivos</code>.
800 856 *
... ... @@ -805,7 +861,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
805 861 this.aditivos = aditivos;
806 862 }
807 863  
808   -
809 864 /**
810 865 * Retorna o valor do atributo <code>valorTotalEmpenhado</code>
811 866 *
... ... @@ -816,7 +871,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
816 871 return valorTotalEmpenhado;
817 872 }
818 873  
819   -
820 874 /**
821 875 * Define o valor do atributo <code>valorTotalEmpenhado</code>.
822 876 *
... ... @@ -827,7 +881,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
827 881 this.valorTotalEmpenhado = valorTotalEmpenhado;
828 882 }
829 883  
830   -
831 884 /**
832 885 * Retorna o valor do atributo <code>numeroAnoEditalLicitacao</code>
833 886 *
... ... @@ -838,7 +891,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
838 891 return numeroAnoEditalLicitacao;
839 892 }
840 893  
841   -
842 894 /**
843 895 * Define o valor do atributo <code>numeroAnoEditalLicitacao</code>.
844 896 *
... ... @@ -849,7 +901,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
849 901 this.numeroAnoEditalLicitacao = numeroAnoEditalLicitacao;
850 902 }
851 903  
852   -
853 904 /**
854 905 * Retorna o valor do atributo <code>dataPublicacaoLicitacao</code>
855 906 *
... ... @@ -860,7 +911,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
860 911 return dataPublicacaoLicitacao;
861 912 }
862 913  
863   -
864 914 /**
865 915 * Define o valor do atributo <code>dataPublicacaoLicitacao</code>.
866 916 *
... ... @@ -871,7 +921,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
871 921 this.dataPublicacaoLicitacao = dataPublicacaoLicitacao;
872 922 }
873 923  
874   -
875 924 /**
876 925 * Retorna o valor do atributo <code>dominioModalidadeLicitacao</code>
877 926 *
... ... @@ -882,7 +931,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
882 931 return dominioModalidadeLicitacao;
883 932 }
884 933  
885   -
886 934 /**
887 935 * Define o valor do atributo <code>dominioModalidadeLicitacao</code>.
888 936 *
... ... @@ -893,7 +941,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
893 941 this.dominioModalidadeLicitacao = dominioModalidadeLicitacao;
894 942 }
895 943  
896   -
897 944 /**
898 945 * Retorna o valor do atributo <code>dominioTipoLicitacao</code>
899 946 *
... ... @@ -904,7 +951,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
904 951 return dominioTipoLicitacao;
905 952 }
906 953  
907   -
908 954 /**
909 955 * Define o valor do atributo <code>dominioTipoLicitacao</code>.
910 956 *
... ... @@ -915,7 +961,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
915 961 this.dominioTipoLicitacao = dominioTipoLicitacao;
916 962 }
917 963  
918   -
919 964 /**
920 965 * Retorna o valor do atributo <code>ctrtItens</code>
921 966 *
... ... @@ -926,7 +971,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
926 971 return ctrtItens;
927 972 }
928 973  
929   -
930 974 /**
931 975 * Define o valor do atributo <code>ctrtItens</code>.
932 976 *
... ... @@ -937,7 +981,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
937 981 this.ctrtItens = ctrtItens;
938 982 }
939 983  
940   -
941 984 /**
942 985 * Retorna o valor do atributo <code>ctrtEnvolvidos</code>
943 986 *
... ... @@ -948,7 +991,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
948 991 return ctrtEnvolvidos;
949 992 }
950 993  
951   -
952 994 /**
953 995 * Define o valor do atributo <code>ctrtEnvolvidos</code>.
954 996 *
... ... @@ -966,16 +1008,15 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
966 1008 return ordensFornecimento;
967 1009 }
968 1010  
969   -
970 1011 /**
971   - * @param ordensFornecimento the ordensFornecimento to set
  1012 + * @param ordensFornecimento
  1013 + * the ordensFornecimento to set
972 1014 */
973 1015 public void setOrdensFornecimento(
974 1016 Collection<OrdemFornecimento> ordensFornecimento) {
975 1017 this.ordensFornecimento = ordensFornecimento;
976 1018 }
977 1019  
978   -
979 1020 public Collection<ContratoEnvolvidoJustificativa> getJustificativas() {
980 1021 return justificativas;
981 1022 }
... ... @@ -995,8 +1036,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
995 1036 return dominioModalidadeGarantia;
996 1037 }
997 1038  
998   -
999   -
1000 1039 /**
1001 1040 * Define o valor do atributo <code>dominioModalidadeGarantia</code>.
1002 1041 *
... ... @@ -1007,8 +1046,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
1007 1046 this.dominioModalidadeGarantia = dominioModalidadeGarantia;
1008 1047 }
1009 1048  
1010   -
1011   -
1012 1049 /**
1013 1050 * Retorna o valor do atributo <code>dataVigenciaGarantia</code>
1014 1051 *
... ... @@ -1019,8 +1056,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
1019 1056 return dataVigenciaGarantia;
1020 1057 }
1021 1058  
1022   -
1023   -
1024 1059 /**
1025 1060 * Define o valor do atributo <code>dataVigenciaGarantia</code>.
1026 1061 *
... ... @@ -1031,8 +1066,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
1031 1066 this.dataVigenciaGarantia = dataVigenciaGarantia;
1032 1067 }
1033 1068  
1034   -
1035   -
1036 1069 /**
1037 1070 * Retorna o valor do atributo <code>valorGarantia</code>
1038 1071 *
... ... @@ -1043,8 +1076,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
1043 1076 return valorGarantia;
1044 1077 }
1045 1078  
1046   -
1047   -
1048 1079 /**
1049 1080 * Define o valor do atributo <code>valorGarantia</code>.
1050 1081 *
... ... @@ -1055,8 +1086,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
1055 1086 this.valorGarantia = valorGarantia;
1056 1087 }
1057 1088  
1058   -
1059   -
1060 1089 /**
1061 1090 * Retorna o valor do atributo <code>percentualGarantia</code>
1062 1091 *
... ... @@ -1067,8 +1096,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
1067 1096 return percentualGarantia;
1068 1097 }
1069 1098  
1070   -
1071   -
1072 1099 /**
1073 1100 * Define o valor do atributo <code>percentualGarantia</code>.
1074 1101 *
... ... @@ -1079,7 +1106,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
1079 1106 this.percentualGarantia = percentualGarantia;
1080 1107 }
1081 1108  
1082   -
1083 1109 /**
1084 1110 * Retorna o valor do atributo <code>documentos</code>
1085 1111 *
... ... @@ -1090,7 +1116,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
1090 1116 return documentos;
1091 1117 }
1092 1118  
1093   -
1094 1119 /**
1095 1120 * Define o valor do atributo <code>documentos</code>.
1096 1121 *
... ... @@ -1101,7 +1126,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
1101 1126 this.documentos = documentos;
1102 1127 }
1103 1128  
1104   -
1105 1129 /**
1106 1130 * Retorna o valor do atributo <code>observacoes</code>
1107 1131 *
... ... @@ -1112,7 +1136,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
1112 1136 return observacoes;
1113 1137 }
1114 1138  
1115   -
1116 1139 /**
1117 1140 * Define o valor do atributo <code>observacoes</code>.
1118 1141 *
... ... @@ -1123,4 +1146,12 @@ public class Contrato extends PersistentObjectAuditOrganizacao {
1123 1146 this.observacoes = observacoes;
1124 1147 }
1125 1148  
  1149 + public TermoReferencia getTermoReferencia() {
  1150 + return termoReferencia;
  1151 + }
  1152 +
  1153 + public void setTermoReferencia(TermoReferencia termoReferencia) {
  1154 + this.termoReferencia = termoReferencia;
  1155 + }
  1156 +
1126 1157 }
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/model/ContratoEmpenho.java
... ... @@ -86,7 +86,7 @@ public class ContratoEmpenho extends ContratoEvento {
86 86 @JsonDeserialize(using = MoneyDeserializer.class)
87 87 @JsonView({ ViewsContrato.ContratoEditView.class, ViewsContrato.ContratoEventoEditView.class, ViewsContrato.ContratoEmpenhoView.class, ViewsContrato.ContratoEmpenhoEditView.class})
88 88 private BigDecimal valorEmpenhado;
89   -
  89 +
90 90 /** Atributo contratoEmpenho. */
91 91 @ManyToOne(fetch = FetchType.LAZY, optional = true)
92 92 private Contrato contratoEmpenho;
... ... @@ -101,12 +101,12 @@ public class ContratoEmpenho extends ContratoEvento {
101 101  
102 102 /** Atributo documentos. */
103 103 @OneToMany(fetch = FetchType.LAZY, mappedBy = "contratoEmpenho", cascade = CascadeType.ALL, orphanRemoval = true)
104   - @JsonView({ ViewsContrato.ContratoEmpenhoEditView.class })
  104 + @JsonView({ ViewsContrato.ContratoEmpenhoEditView.class, ViewsContrato.ContratoEditView.class })
105 105 private Collection<ContratoEmpenhoDocumento> documentos;
106 106  
107 107 /** Atributo observacoes. */
108 108 @OneToMany(fetch = FetchType.LAZY, mappedBy = "contratoEmpenho", cascade = CascadeType.ALL, orphanRemoval = true)
109   - @JsonView({ ViewsContrato.ContratoEmpenhoEditView.class })
  109 + @JsonView({ ViewsContrato.ContratoEmpenhoEditView.class, ViewsContrato.ContratoEditView.class })
110 110 private Collection<ContratoEmpenhoObservacao> observacoes;
111 111  
112 112 /**
... ... @@ -241,50 +241,50 @@ public class ContratoEmpenho extends ContratoEvento {
241 241 }
242 242  
243 243  
244   -
  244 +
245 245 /**
246 246 * Retorna o valor do atributo <code>contratoEmpenho</code>
247 247 *
248 248 * @return <code>Contrato</code>
249 249 */
250 250 public Contrato getContratoEmpenho() {
251   -
  251 +
252 252 return contratoEmpenho;
253 253 }
254 254  
255 255  
256   -
  256 +
257 257 /**
258 258 * Define o valor do atributo <code>contratoEmpenho</code>.
259 259 *
260   - * @param contratoEmpenho
  260 + * @param contratoEmpenho
261 261 */
262 262 public void setContratoEmpenho(Contrato contratoEmpenho) {
263   -
  263 +
264 264 this.contratoEmpenho = contratoEmpenho;
265 265 }
266 266  
267 267  
268   -
  268 +
269 269 /**
270 270 * Retorna o valor do atributo <code>contratoEmpenhoInativo</code>
271 271 *
272 272 * @return <code>Contrato</code>
273 273 */
274 274 public Contrato getContratoEmpenhoInativo() {
275   -
  275 +
276 276 return contratoEmpenhoInativo;
277 277 }
278 278  
279 279  
280   -
  280 +
281 281 /**
282 282 * Define o valor do atributo <code>contratoEmpenhoInativo</code>.
283 283 *
284   - * @param contratoEmpenhoInativo
  284 + * @param contratoEmpenhoInativo
285 285 */
286 286 public void setContratoEmpenhoInativo(Contrato contratoEmpenhoInativo) {
287   -
  287 +
288 288 this.contratoEmpenhoInativo = contratoEmpenhoInativo;
289 289 }
290 290  
... ... @@ -317,5 +317,5 @@ public class ContratoEmpenho extends ContratoEvento {
317 317 public void setObservacoes(Collection<ContratoEmpenhoObservacao> observacoes) {
318 318 this.observacoes = observacoes;
319 319 }
320   -
  320 +
321 321 }
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/model/EncerramentoContrato.java
... ... @@ -31,7 +31,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize;
31 31  
32 32  
33 33 /**
34   - *
  34 + *
35 35 * <p><img src="http://centralit.com.br/images/logo_central.png"></p>
36 36 *
37 37 * <p><b>Company: </b> Central IT - Governança Corporativa - </p>
... ... @@ -39,11 +39,11 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize;
39 39 * <p><b>Title: </b></p>
40 40 *
41 41 * <p><b>Description: </b></p>
42   - *
  42 + *
43 43 * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p>
44 44 *
45   - * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>
46   - *
  45 + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>
  46 + *
47 47 * @since 24/02/2016 - 09:03:01
48 48 *
49 49 * @version 1.0.0
... ... @@ -74,45 +74,45 @@ public class EncerramentoContrato extends PersistentObjectAudit {
74 74 @ManyToOne(fetch = FetchType.LAZY, optional = false)
75 75 @JsonView({ ViewsContrato.EncerramentoContratoEditView.class })
76 76 private Organizacao contratante;
77   -
  77 +
78 78 /** Atributo codigo. */
79 79 @Column(length = 30, unique = true, nullable = false)
80 80 @JsonView({ ViewsContrato.EncerramentoContratoEditView.class })
81 81 private String numTermo;
82   -
  82 +
83 83 /** Atributo numeroAnoContrato. */
84 84 @Transient
85 85 @JsonView({ ViewsContrato.EncerramentoContratoListView.class })
86 86 private String numTermoFormatado;
87   -
  87 +
88 88 /** Atributo dataEmissao referente à dataEncerramento da tela de cadastro */
89 89 @Column(nullable = false)
90 90 @Temporal(TemporalType.TIMESTAMP)
91 91 @JsonSerialize(using = JsonCalendarSimpleDateSerializer.class)
92 92 @JsonDeserialize(using = JsonCalendarSimpleDateDeserializer.class)
93   - @JsonView({ ViewsContrato.EncerramentoContratoListView.class })
  93 + @JsonView({ ViewsContrato.EncerramentoContratoListView.class, ViewsContrato.ContratoEditView.class })
94 94 private Calendar dataEmissao;
95   -
  95 +
96 96 @Column(length = 2000, nullable = false)
97 97 @JsonView({ ViewsContrato.EncerramentoContratoEditView.class })
98 98 private String introducao;
99   -
  99 +
100 100 @Column(length = 2000, nullable = false)
101 101 @JsonView({ ViewsContrato.EncerramentoContratoEditView.class })
102 102 private String motivo;
103   -
  103 +
104 104 @Column(length = 8000, nullable = false)
105 105 @JsonView({ ViewsContrato.EncerramentoContratoEditView.class })
106 106 private String encaminhamentos;
107   -
  107 +
108 108 @Column(length = 2000, nullable = true)
109 109 @JsonView({ ViewsContrato.EncerramentoContratoEditView.class })
110 110 private String pendencias;
111   -
  111 +
112 112 @Column(length = 2000, nullable = false)
113 113 @JsonView({ ViewsContrato.EncerramentoContratoEditView.class })
114 114 private String decisao;
115   -
  115 +
116 116 /** Atributo documentos. */
117 117 @OneToMany(fetch = FetchType.LAZY, mappedBy = "encerramentoContrato", cascade = CascadeType.ALL, orphanRemoval = true)
118 118 @JsonView({ ViewsContrato.EncerramentoContratoEditView.class })
... ... @@ -122,7 +122,7 @@ public class EncerramentoContrato extends PersistentObjectAudit {
122 122 @OneToMany(fetch = FetchType.LAZY, mappedBy = "encerramentoContrato", cascade = CascadeType.ALL, orphanRemoval = true)
123 123 @JsonView({ ViewsContrato.EncerramentoContratoEditView.class })
124 124 private Collection<EncerramentoContratoObservacao> observacoes;
125   -
  125 +
126 126 /**
127 127 * Retorna o valor do atributo <code>id</code>
128 128 *
... ... @@ -167,41 +167,41 @@ public class EncerramentoContrato extends PersistentObjectAudit {
167 167 }
168 168  
169 169  
170   -
  170 +
171 171 /**
172 172 * Retorna o valor do atributo <code>contratante</code>
173 173 *
174 174 * @return <code>Organizacao</code>
175 175 */
176 176 public Organizacao getContratante() {
177   -
  177 +
178 178 return contratante;
179 179 }
180 180  
181 181  
182   -
  182 +
183 183 /**
184 184 * Define o valor do atributo <code>contratante</code>.
185 185 *
186   - * @param contratante
  186 + * @param contratante
187 187 */
188 188 public void setContratante(Organizacao contratante) {
189   -
  189 +
190 190 this.contratante = contratante;
191 191 }
192 192  
193 193  
194   -
  194 +
195 195 /**
196 196 * Retorna o valor do atributo <code>numTermo</code>
197 197 *
198 198 * @return <code>String</code>
199 199 */
200 200 public String getNumTermo() {
201   -
  201 +
202 202 return numTermo;
203 203 }
204   -
  204 +
205 205 /**
206 206 * Retorna o valor do atributo <code>numeroAnoContrato</code> formatado com máscara
207 207 *
... ... @@ -215,206 +215,206 @@ public class EncerramentoContrato extends PersistentObjectAudit {
215 215 }
216 216  
217 217  
218   -
  218 +
219 219 /**
220 220 * Define o valor do atributo <code>numTermo</code>.
221 221 *
222   - * @param numTermo
  222 + * @param numTermo
223 223 */
224 224 public void setNumTermo(String numTermo) {
225   -
  225 +
226 226 this.numTermo = numTermo;
227 227 }
228 228  
229 229  
230   -
  230 +
231 231 /**
232 232 * Retorna o valor do atributo <code>dataEmissao</code>
233 233 *
234 234 * @return <code>Calendar</code>
235 235 */
236 236 public Calendar getDataEmissao() {
237   -
  237 +
238 238 return dataEmissao;
239 239 }
240 240  
241 241  
242   -
  242 +
243 243 /**
244 244 * Define o valor do atributo <code>dataEmissao</code>.
245 245 *
246   - * @param dataEmissao
  246 + * @param dataEmissao
247 247 */
248 248 public void setDataEmissao(Calendar dataEmissao) {
249   -
  249 +
250 250 this.dataEmissao = dataEmissao;
251 251 }
252 252  
253 253  
254   -
  254 +
255 255 /**
256 256 * Retorna o valor do atributo <code>introducao</code>
257 257 *
258 258 * @return <code>String</code>
259 259 */
260 260 public String getIntroducao() {
261   -
  261 +
262 262 return introducao;
263 263 }
264 264  
265 265  
266   -
  266 +
267 267 /**
268 268 * Define o valor do atributo <code>introducao</code>.
269 269 *
270   - * @param introducao
  270 + * @param introducao
271 271 */
272 272 public void setIntroducao(String introducao) {
273   -
  273 +
274 274 this.introducao = introducao;
275 275 }
276 276  
277 277  
278   -
  278 +
279 279 /**
280 280 * Retorna o valor do atributo <code>motivo</code>
281 281 *
282 282 * @return <code>String</code>
283 283 */
284 284 public String getMotivo() {
285   -
  285 +
286 286 return motivo;
287 287 }
288 288  
289 289  
290   -
  290 +
291 291 /**
292 292 * Define o valor do atributo <code>motivo</code>.
293 293 *
294   - * @param motivo
  294 + * @param motivo
295 295 */
296 296 public void setMotivo(String motivo) {
297   -
  297 +
298 298 this.motivo = motivo;
299 299 }
300 300  
301 301  
302   -
  302 +
303 303 /**
304 304 * Retorna o valor do atributo <code>encaminhamentos</code>
305 305 *
306 306 * @return <code>String</code>
307 307 */
308 308 public String getEncaminhamentos() {
309   -
  309 +
310 310 return encaminhamentos;
311 311 }
312 312  
313 313  
314   -
  314 +
315 315 /**
316 316 * Define o valor do atributo <code>encaminhamentos</code>.
317 317 *
318   - * @param encaminhamentos
  318 + * @param encaminhamentos
319 319 */
320 320 public void setEncaminhamentos(String encaminhamentos) {
321   -
  321 +
322 322 this.encaminhamentos = encaminhamentos;
323 323 }
324 324  
325 325  
326   -
  326 +
327 327 /**
328 328 * Retorna o valor do atributo <code>pendencias</code>
329 329 *
330 330 * @return <code>String</code>
331 331 */
332 332 public String getPendencias() {
333   -
  333 +
334 334 return pendencias;
335 335 }
336 336  
337 337  
338   -
  338 +
339 339 /**
340 340 * Define o valor do atributo <code>pendencias</code>.
341 341 *
342   - * @param pendencias
  342 + * @param pendencias
343 343 */
344 344 public void setPendencias(String pendencias) {
345   -
  345 +
346 346 this.pendencias = pendencias;
347 347 }
348 348  
349 349  
350   -
  350 +
351 351 /**
352 352 * Retorna o valor do atributo <code>decisao</code>
353 353 *
354 354 * @return <code>String</code>
355 355 */
356 356 public String getDecisao() {
357   -
  357 +
358 358 return decisao;
359 359 }
360 360  
361 361  
362   -
  362 +
363 363 /**
364 364 * Define o valor do atributo <code>decisao</code>.
365 365 *
366   - * @param decisao
  366 + * @param decisao
367 367 */
368 368 public void setDecisao(String decisao) {
369   -
  369 +
370 370 this.decisao = decisao;
371 371 }
372 372  
373 373  
374   -
  374 +
375 375 /**
376 376 * Retorna o valor do atributo <code>documentos</code>
377 377 *
378 378 * @return <code>Collection<EncerramentoContratoDocumento></code>
379 379 */
380 380 public Collection<EncerramentoContratoDocumento> getDocumentos() {
381   -
  381 +
382 382 return documentos;
383 383 }
384 384  
385 385  
386   -
  386 +
387 387 /**
388 388 * Define o valor do atributo <code>documentos</code>.
389 389 *
390   - * @param documentos
  390 + * @param documentos
391 391 */
392 392 public void setDocumentos(Collection<EncerramentoContratoDocumento> documentos) {
393   -
  393 +
394 394 this.documentos = documentos;
395 395 }
396 396  
397 397  
398   -
  398 +
399 399 /**
400 400 * Retorna o valor do atributo <code>observacoes</code>
401 401 *
402 402 * @return <code>Collection<EncerramentoContratoObservacao></code>
403 403 */
404 404 public Collection<EncerramentoContratoObservacao> getObservacoes() {
405   -
  405 +
406 406 return observacoes;
407 407 }
408 408  
409 409  
410   -
  410 +
411 411 /**
412 412 * Define o valor do atributo <code>observacoes</code>.
413 413 *
414   - * @param observacoes
  414 + * @param observacoes
415 415 */
416 416 public void setObservacoes(Collection<EncerramentoContratoObservacao> observacoes) {
417   -
  417 +
418 418 this.observacoes = observacoes;
419 419 }
420 420  
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/model/EventoAditivo.java
... ... @@ -29,7 +29,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize;
29 29  
30 30  
31 31 /**
32   - *
  32 + *
33 33 * <p><img src="http://centralit.com.br/images/logo_central.png"></p>
34 34 *
35 35 * <p><b>Company: </b> Central IT - Governança Corporativa - </p>
... ... @@ -37,11 +37,11 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize;
37 37 * <p><b>Title: </b></p>
38 38 *
39 39 * <p><b>Description: </b></p>
40   - *
  40 + *
41 41 * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p>
42 42 *
43   - * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>
44   - *
  43 + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>
  44 + *
45 45 * @since 09/03/2016 - 16:40:20
46 46 *
47 47 * @version 1.0.0
... ... @@ -56,7 +56,7 @@ public class EventoAditivo extends ContratoEvento {
56 56  
57 57 /** Atributo serialVersionUID. */
58 58 private static final long serialVersionUID = 1L;
59   -
  59 +
60 60 @Embedded
61 61 @JsonView({ Views.GenericView.class })
62 62 private RegistroSequencial registroSequencial;
... ... @@ -67,51 +67,51 @@ public class EventoAditivo extends ContratoEvento {
67 67 @JsonDeserialize(using = JsonCalendarSimpleDateDeserializer.class)
68 68 @JsonView({ ViewsContrato.EventoAditivoEditView.class, ViewsContrato.ContratoEventoEditView.class, ViewsContrato.ContratoEditView.class })
69 69 private Calendar dataEmissao;
70   -
  70 +
71 71 /** Atributo tipoAlteracao. */
72 72 @ManyToOne(fetch = FetchType.LAZY, optional = false)
73 73 @JsonView({ ViewsContrato.EventoAditivoEditView.class, ViewsContrato.ContratoEventoEditView.class })
74 74 private Dominio tipoAlteracao;
75   -
  75 +
76 76 /** Atributo aditivoDePrazo. */
77 77 @Column(nullable = false)
78 78 @JsonView({ Views.GenericView.class })
79 79 private Boolean aditivoDePrazo = Boolean.FALSE;
80   -
  80 +
81 81 /** Atributo aditivoDeValor. */
82 82 @Column(nullable = false)
83 83 @JsonView({ Views.GenericView.class })
84 84 private Boolean aditivoDeValor = Boolean.FALSE;
85   -
  85 +
86 86 /** Atributo aditivoDeClausula. */
87 87 @Column(nullable = false)
88 88 @JsonView({ Views.GenericView.class })
89 89 private Boolean aditivoDeClausula = Boolean.FALSE;
90   -
  90 +
91 91 /** Atributo dataEmissao. */
92 92 @Temporal(TemporalType.TIMESTAMP)
93 93 @JsonSerialize(using = JsonCalendarSimpleDateSerializer.class)
94 94 @JsonDeserialize(using = JsonCalendarSimpleDateDeserializer.class)
95 95 @JsonView({ ViewsContrato.EventoAditivoEditView.class, ViewsContrato.ContratoEventoEditView.class })
96 96 private Calendar dataInicio;
97   -
  97 +
98 98 /** Atributo dataEmissao. */
99 99 @Temporal(TemporalType.TIMESTAMP)
100 100 @JsonSerialize(using = JsonCalendarSimpleDateSerializer.class)
101 101 @JsonDeserialize(using = JsonCalendarSimpleDateDeserializer.class)
102 102 @JsonView({ ViewsContrato.EventoAditivoEditView.class, ViewsContrato.ContratoEventoEditView.class })
103 103 private Calendar dataFim;
104   -
  104 +
105 105 /** Atributo tipoObjeto. */
106 106 @ManyToOne(fetch = FetchType.LAZY, optional = true)
107 107 @JsonView({ ViewsContrato.EventoAditivoEditView.class, ViewsContrato.ContratoEventoEditView.class })
108 108 private Dominio tipoObjeto;
109   -
  109 +
110 110 /** Atributo tipoAlteracaoValor. */
111 111 @ManyToOne(fetch = FetchType.LAZY, optional = true)
112 112 @JsonView({ ViewsContrato.EventoAditivoEditView.class, ViewsContrato.ContratoEventoEditView.class })
113 113 private Dominio tipoAlteracaoValor;
114   -
  114 +
115 115 /** Atributo valorContrato. */
116 116 @Column(precision = 20, scale = 4)
117 117 @JsonDeserialize(using = MoneyDeserializer.class)
... ... @@ -123,32 +123,32 @@ public class EventoAditivo extends ContratoEvento {
123 123 @JsonDeserialize(using = MoneyDeserializer.class)
124 124 @JsonView({ ViewsContrato.EventoAditivoEditView.class, ViewsContrato.ContratoEventoEditView.class })
125 125 private BigDecimal percentualAditivo;
126   -
  126 +
127 127 /** Atributo descricaoAditivo. */
128 128 @Column(length = 5000, nullable = true)
129 129 @JsonView({ ViewsContrato.EventoAditivoEditView.class })
130 130 private String descricaoAditivo;
131   -
  131 +
132 132 /** Atributo justificativa. */
133 133 @Column(length = 2000, nullable = false)
134 134 @JsonView({ ViewsContrato.EventoAditivoEditView.class })
135 135 private String justificativa;
136   -
  136 +
137 137 /** Atributo manifestacaoContratada. */
138 138 @Column(length = 2000, nullable = true)
139 139 @JsonView({ ViewsContrato.EventoAditivoEditView.class })
140 140 private String manifestacaoContratada;
141   -
  141 +
142 142 /** Atributo documentos. */
143 143 @OneToMany(fetch = FetchType.LAZY, mappedBy = "eventoAditivo", cascade = CascadeType.ALL, orphanRemoval = true)
144   - @JsonView({ ViewsContrato.EventoAditivoEditView.class })
  144 + @JsonView({ ViewsContrato.EventoAditivoEditView.class, ViewsContrato.ContratoEditView.class })
145 145 private Collection<EventoAditivoDocumento> documentos;
146 146  
147 147 /** Atributo observacoes. */
148 148 @OneToMany(fetch = FetchType.LAZY, mappedBy = "eventoAditivo", cascade = CascadeType.ALL, orphanRemoval = true)
149   - @JsonView({ ViewsContrato.EventoAditivoEditView.class })
  149 + @JsonView({ ViewsContrato.EventoAditivoEditView.class, ViewsContrato.ContratoEditView.class })
150 150 private Collection<EventoAditivoObservacao> observacoes;
151   -
  151 +
152 152 /** Atributo contratoAditivo. */
153 153 @ManyToOne(fetch = FetchType.LAZY, optional = true)
154 154 private Contrato contratoAditivo;
... ... @@ -157,291 +157,291 @@ public class EventoAditivo extends ContratoEvento {
157 157 @ManyToOne(fetch = FetchType.LAZY, optional = true)
158 158 private Contrato contratoAditivoInativo;
159 159  
160   -
  160 +
161 161 /**
162 162 * Retorna o valor do atributo <code>registroSequencial</code>
163 163 *
164 164 * @return <code>RegistroSequencial</code>
165 165 */
166 166 public RegistroSequencial getRegistroSequencial() {
167   -
  167 +
168 168 return registroSequencial;
169 169 }
170 170  
171   -
  171 +
172 172 /**
173 173 * Define o valor do atributo <code>registroSequencial</code>.
174 174 *
175   - * @param registroSequencial
  175 + * @param registroSequencial
176 176 */
177 177 public void setRegistroSequencial(RegistroSequencial registroSequencial) {
178   -
  178 +
179 179 this.registroSequencial = registroSequencial;
180 180 }
181 181  
182   -
  182 +
183 183 /**
184 184 * Retorna o valor do atributo <code>dataEmissao</code>
185 185 *
186 186 * @return <code>Calendar</code>
187 187 */
188 188 public Calendar getDataEmissao() {
189   -
  189 +
190 190 return dataEmissao;
191 191 }
192 192  
193   -
  193 +
194 194 /**
195 195 * Define o valor do atributo <code>dataEmissao</code>.
196 196 *
197   - * @param dataEmissao
  197 + * @param dataEmissao
198 198 */
199 199 public void setDataEmissao(Calendar dataEmissao) {
200   -
  200 +
201 201 this.dataEmissao = dataEmissao;
202 202 }
203 203  
204   -
  204 +
205 205 /**
206 206 * Retorna o valor do atributo <code>tipoAlteracao</code>
207 207 *
208 208 * @return <code>Dominio</code>
209 209 */
210 210 public Dominio getTipoAlteracao() {
211   -
  211 +
212 212 return tipoAlteracao;
213 213 }
214 214  
215   -
  215 +
216 216 /**
217 217 * Define o valor do atributo <code>tipoAlteracao</code>.
218 218 *
219   - * @param tipoAlteracao
  219 + * @param tipoAlteracao
220 220 */
221 221 public void setTipoAlteracao(Dominio tipoAlteracao) {
222   -
  222 +
223 223 this.tipoAlteracao = tipoAlteracao;
224 224 }
225 225  
226   -
  226 +
227 227 /**
228 228 * Retorna o valor do atributo <code>aditivoDePrazo</code>
229 229 *
230 230 * @return <code>Boolean</code>
231 231 */
232 232 public Boolean getAditivoDePrazo() {
233   -
  233 +
234 234 return aditivoDePrazo;
235 235 }
236 236  
237   -
  237 +
238 238 /**
239 239 * Define o valor do atributo <code>aditivoDePrazo</code>.
240 240 *
241   - * @param aditivoDePrazo
  241 + * @param aditivoDePrazo
242 242 */
243 243 public void setAditivoDePrazo(Boolean aditivoDePrazo) {
244   -
  244 +
245 245 this.aditivoDePrazo = aditivoDePrazo;
246 246 }
247 247  
248   -
  248 +
249 249 /**
250 250 * Retorna o valor do atributo <code>aditivoDeValor</code>
251 251 *
252 252 * @return <code>Boolean</code>
253 253 */
254 254 public Boolean getAditivoDeValor() {
255   -
  255 +
256 256 return aditivoDeValor;
257 257 }
258 258  
259   -
  259 +
260 260 /**
261 261 * Define o valor do atributo <code>aditivoDeValor</code>.
262 262 *
263   - * @param aditivoDeValor
  263 + * @param aditivoDeValor
264 264 */
265 265 public void setAditivoDeValor(Boolean aditivoDeValor) {
266   -
  266 +
267 267 this.aditivoDeValor = aditivoDeValor;
268 268 }
269 269  
270   -
  270 +
271 271 /**
272 272 * Retorna o valor do atributo <code>aditivoDeClausula</code>
273 273 *
274 274 * @return <code>Boolean</code>
275 275 */
276 276 public Boolean getAditivoDeClausula() {
277   -
  277 +
278 278 return aditivoDeClausula;
279 279 }
280 280  
281   -
  281 +
282 282 /**
283 283 * Define o valor do atributo <code>aditivoDeClausula</code>.
284 284 *
285   - * @param aditivoDeClausula
  285 + * @param aditivoDeClausula
286 286 */
287 287 public void setAditivoDeClausula(Boolean aditivoDeClausula) {
288   -
  288 +
289 289 this.aditivoDeClausula = aditivoDeClausula;
290 290 }
291 291  
292   -
  292 +
293 293 /**
294 294 * Retorna o valor do atributo <code>dataInicio</code>
295 295 *
296 296 * @return <code>Calendar</code>
297 297 */
298 298 public Calendar getDataInicio() {
299   -
  299 +
300 300 return dataInicio;
301 301 }
302 302  
303   -
  303 +
304 304 /**
305 305 * Define o valor do atributo <code>dataInicio</code>.
306 306 *
307   - * @param dataInicio
  307 + * @param dataInicio
308 308 */
309 309 public void setDataInicio(Calendar dataInicio) {
310   -
  310 +
311 311 this.dataInicio = dataInicio;
312 312 }
313 313  
314   -
  314 +
315 315 /**
316 316 * Retorna o valor do atributo <code>dataFim</code>
317 317 *
318 318 * @return <code>Calendar</code>
319 319 */
320 320 public Calendar getDataFim() {
321   -
  321 +
322 322 return dataFim;
323 323 }
324 324  
325   -
  325 +
326 326 /**
327 327 * Define o valor do atributo <code>dataFim</code>.
328 328 *
329   - * @param dataFim
  329 + * @param dataFim
330 330 */
331 331 public void setDataFim(Calendar dataFim) {
332   -
  332 +
333 333 this.dataFim = dataFim;
334 334 }
335 335  
336   -
  336 +
337 337 /**
338 338 * Retorna o valor do atributo <code>tipoObjeto</code>
339 339 *
340 340 * @return <code>Dominio</code>
341 341 */
342 342 public Dominio getTipoObjeto() {
343   -
  343 +
344 344 return tipoObjeto;
345 345 }
346 346  
347   -
  347 +
348 348 /**
349 349 * Define o valor do atributo <code>tipoObjeto</code>.
350 350 *
351   - * @param tipoObjeto
  351 + * @param tipoObjeto
352 352 */
353 353 public void setTipoObjeto(Dominio tipoObjeto) {
354   -
  354 +
355 355 this.tipoObjeto = tipoObjeto;
356 356 }
357 357  
358   -
  358 +
359 359 /**
360 360 * Retorna o valor do atributo <code>tipoAlteracaoValor</code>
361 361 *
362 362 * @return <code>Dominio</code>
363 363 */
364 364 public Dominio getTipoAlteracaoValor() {
365   -
  365 +
366 366 return tipoAlteracaoValor;
367 367 }
368 368  
369   -
  369 +
370 370 /**
371 371 * Define o valor do atributo <code>tipoAlteracaoValor</code>.
372 372 *
373   - * @param tipoAlteracaoValor
  373 + * @param tipoAlteracaoValor
374 374 */
375 375 public void setTipoAlteracaoValor(Dominio tipoAlteracaoValor) {
376   -
  376 +
377 377 this.tipoAlteracaoValor = tipoAlteracaoValor;
378 378 }
379 379  
380   -
  380 +
381 381 /**
382 382 * Retorna o valor do atributo <code>valorAditivo</code>
383 383 *
384 384 * @return <code>BigDecimal</code>
385 385 */
386 386 public BigDecimal getValorAditivo() {
387   -
  387 +
388 388 return valorAditivo;
389 389 }
390 390  
391   -
  391 +
392 392 /**
393 393 * Define o valor do atributo <code>valorAditivo</code>.
394 394 *
395   - * @param valorAditivo
  395 + * @param valorAditivo
396 396 */
397 397 public void setValorAditivo(BigDecimal valorAditivo) {
398   -
  398 +
399 399 this.valorAditivo = valorAditivo;
400 400 }
401 401  
402   -
  402 +
403 403 /**
404 404 * Retorna o valor do atributo <code>percentualAditivo</code>
405 405 *
406 406 * @return <code>BigDecimal</code>
407 407 */
408 408 public BigDecimal getPercentualAditivo() {
409   -
  409 +
410 410 return percentualAditivo;
411 411 }
412 412  
413   -
  413 +
414 414 /**
415 415 * Define o valor do atributo <code>percentualAditivo</code>.
416 416 *
417   - * @param percentualAditivo
  417 + * @param percentualAditivo
418 418 */
419 419 public void setPercentualAditivo(BigDecimal percentualAditivo) {
420   -
  420 +
421 421 this.percentualAditivo = percentualAditivo;
422 422 }
423 423  
424   -
425   -
  424 +
  425 +
426 426 /**
427 427 * Retorna o valor do atributo <code>descricaoAditivo</code>
428 428 *
429 429 * @return <code>String</code>
430 430 */
431 431 public String getDescricaoAditivo() {
432   -
  432 +
433 433 return descricaoAditivo;
434 434 }
435 435  
436 436  
437   -
  437 +
438 438 /**
439 439 * Define o valor do atributo <code>descricaoAditivo</code>.
440 440 *
441   - * @param descricaoAditivo
  441 + * @param descricaoAditivo
442 442 */
443 443 public void setDescricaoAditivo(String descricaoAditivo) {
444   -
  444 +
445 445 this.descricaoAditivo = descricaoAditivo;
446 446 }
447 447  
... ... @@ -452,133 +452,133 @@ public class EventoAditivo extends ContratoEvento {
452 452 * @return <code>String</code>
453 453 */
454 454 public String getJustificativa() {
455   -
  455 +
456 456 return justificativa;
457 457 }
458 458  
459   -
  459 +
460 460 /**
461 461 * Define o valor do atributo <code>justificativa</code>.
462 462 *
463   - * @param justificativa
  463 + * @param justificativa
464 464 */
465 465 public void setJustificativa(String justificativa) {
466   -
  466 +
467 467 this.justificativa = justificativa;
468 468 }
469 469  
470   -
  470 +
471 471 /**
472 472 * Retorna o valor do atributo <code>manifestacaoContratada</code>
473 473 *
474 474 * @return <code>String</code>
475 475 */
476 476 public String getManifestacaoContratada() {
477   -
  477 +
478 478 return manifestacaoContratada;
479 479 }
480 480  
481   -
  481 +
482 482 /**
483 483 * Define o valor do atributo <code>manifestacaoContratada</code>.
484 484 *
485   - * @param manifestacaoContratada
  485 + * @param manifestacaoContratada
486 486 */
487 487 public void setManifestacaoContratada(String manifestacaoContratada) {
488   -
  488 +
489 489 this.manifestacaoContratada = manifestacaoContratada;
490 490 }
491 491  
492   -
  492 +
493 493 /**
494 494 * Retorna o valor do atributo <code>documentos</code>
495 495 *
496 496 * @return <code>Collection<EventoAditivoDocumento></code>
497 497 */
498 498 public Collection<EventoAditivoDocumento> getDocumentos() {
499   -
  499 +
500 500 return documentos;
501 501 }
502 502  
503   -
  503 +
504 504 /**
505 505 * Define o valor do atributo <code>documentos</code>.
506 506 *
507   - * @param documentos
  507 + * @param documentos
508 508 */
509 509 public void setDocumentos(Collection<EventoAditivoDocumento> documentos) {
510   -
  510 +
511 511 this.documentos = documentos;
512 512 }
513 513  
514   -
  514 +
515 515 /**
516 516 * Retorna o valor do atributo <code>observacoes</code>
517 517 *
518 518 * @return <code>Collection<EventoAditivoObservacao></code>
519 519 */
520 520 public Collection<EventoAditivoObservacao> getObservacoes() {
521   -
  521 +
522 522 return observacoes;
523 523 }
524 524  
525   -
  525 +
526 526 /**
527 527 * Define o valor do atributo <code>observacoes</code>.
528 528 *
529   - * @param observacoes
  529 + * @param observacoes
530 530 */
531 531 public void setObservacoes(Collection<EventoAditivoObservacao> observacoes) {
532   -
  532 +
533 533 this.observacoes = observacoes;
534 534 }
535 535  
536 536  
537   -
  537 +
538 538 /**
539 539 * Retorna o valor do atributo <code>contratoAditivo</code>
540 540 *
541 541 * @return <code>Contrato</code>
542 542 */
543 543 public Contrato getContratoAditivo() {
544   -
  544 +
545 545 return contratoAditivo;
546 546 }
547 547  
548 548  
549   -
  549 +
550 550 /**
551 551 * Define o valor do atributo <code>contratoAditivo</code>.
552 552 *
553   - * @param contratoAditivo
  553 + * @param contratoAditivo
554 554 */
555 555 public void setContratoAditivo(Contrato contratoAditivo) {
556   -
  556 +
557 557 this.contratoAditivo = contratoAditivo;
558 558 }
559 559  
560 560  
561   -
  561 +
562 562 /**
563 563 * Retorna o valor do atributo <code>contratoAditivoInativo</code>
564 564 *
565 565 * @return <code>Contrato</code>
566 566 */
567 567 public Contrato getContratoAditivoInativo() {
568   -
  568 +
569 569 return contratoAditivoInativo;
570 570 }
571 571  
572 572  
573   -
  573 +
574 574 /**
575 575 * Define o valor do atributo <code>contratoAditivoInativo</code>.
576 576 *
577   - * @param contratoAditivoInativo
  577 + * @param contratoAditivoInativo
578 578 */
579 579 public void setContratoAditivoInativo(Contrato contratoAditivoInativo) {
580   -
  580 +
581 581 this.contratoAditivoInativo = contratoAditivoInativo;
582 582 }
583   -
  583 +
584 584 }
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/model/EventoApostilamento.java
... ... @@ -61,7 +61,7 @@ public class EventoApostilamento extends ContratoEvento {
61 61 @Temporal(TemporalType.TIMESTAMP)
62 62 @JsonSerialize(using = JsonCalendarSimpleDateSerializer.class)
63 63 @JsonDeserialize(using = JsonCalendarSimpleDateDeserializer.class)
64   - @JsonView({ ViewsContrato.EventoApostilamentoEditView.class })
  64 + @JsonView({ ViewsContrato.EventoApostilamentoEditView.class, ViewsContrato.ContratoEditView.class })
65 65 private Calendar dataEmissao;
66 66  
67 67 /** Atributo justificativa. */
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/model/OrdemFornecimento.java
... ... @@ -78,7 +78,7 @@ public class OrdemFornecimento extends PersistentObjectAuditOrganizacao {
78 78 @Column(name = "numOrdemFornecimento", length = 20, nullable = false)
79 79 @JsonView({ ViewsContrato.OrdemFornecimentoListView.class,
80 80 ViewsContrato.RegistroOcorrenciaEditView.class,
81   - ViewsContrato.EventoLiberacaoPagamentoView.class })
  81 + ViewsContrato.EventoLiberacaoPagamentoView.class, ViewsContrato.ContratoEditView.class })
82 82 private String numOrdemFornecimento;
83 83  
84 84 /** Atributo dataEmissao. */
... ... @@ -87,7 +87,7 @@ public class OrdemFornecimento extends PersistentObjectAuditOrganizacao {
87 87 @JsonSerialize(using = JsonCalendarSimpleDateSerializer.class)
88 88 @JsonDeserialize(using = JsonCalendarSimpleDateDeserializer.class)
89 89 @JsonView({ ViewsContrato.OrdemFornecimentoListView.class,
90   - ViewsContrato.EventoLiberacaoPagamentoView.class })
  90 + ViewsContrato.EventoLiberacaoPagamentoView.class, ViewsContrato.ContratoEditView.class })
91 91 private Calendar dataEmissao;
92 92  
93 93 /** Atributo dominioSituacao. */
... ... @@ -112,12 +112,12 @@ public class OrdemFornecimento extends PersistentObjectAuditOrganizacao {
112 112  
113 113 /** Atributo documentos. */
114 114 @OneToMany(fetch = FetchType.LAZY, mappedBy = "ordemFornecimento", cascade = CascadeType.ALL, orphanRemoval = true)
115   - @JsonView({ ViewsContrato.OrdemFornecimentoEditView.class })
  115 + @JsonView({ ViewsContrato.OrdemFornecimentoEditView.class, ViewsContrato.ContratoEditView.class })
116 116 private Collection<OrdemFornecimentoDocumento> documentos;
117 117  
118 118 /** Atributo observacoes. */
119 119 @OneToMany(fetch = FetchType.LAZY, mappedBy = "ordemFornecimento", cascade = CascadeType.ALL, orphanRemoval = true)
120   - @JsonView({ ViewsContrato.OrdemFornecimentoEditView.class })
  120 + @JsonView({ ViewsContrato.OrdemFornecimentoEditView.class, ViewsContrato.ContratoEditView.class })
121 121 private Collection<OrdemFornecimentoObservacao> observacoes;
122 122  
123 123 /**
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/model/TermoReferencia.java
... ... @@ -39,11 +39,11 @@ public class TermoReferencia extends PersistentObjectAuditOrganizacao {
39 39 /** Atributo id. */
40 40 @Id
41 41 @GeneratedValue(strategy = GenerationType.AUTO)
42   - @JsonView({ ViewsContrato.TermoReferenciaListView.class })
  42 + @JsonView({ ViewsContrato.TermoReferenciaListView.class, ViewsContrato.ContratoEditView.class })
43 43 private Long id;
44 44  
45 45 @Column(length = 30)
46   - @JsonView({ ViewsContrato.TermoReferenciaListView.class })
  46 + @JsonView({ ViewsContrato.TermoReferenciaListView.class, ViewsContrato.ContratoEditView.class, ViewsContrato.ContratoAutoCompleteView.class })
47 47 private String codigo;
48 48  
49 49 @ManyToOne(fetch = FetchType.LAZY, optional = false)
... ... @@ -134,11 +134,11 @@ public class TermoReferencia extends PersistentObjectAuditOrganizacao {
134 134 private Collection<TermoReferenciaDetalhamentoSolucao> detalhamentosSolucoes;
135 135  
136 136 @OneToMany(fetch = FetchType.LAZY, mappedBy = "termo", cascade = CascadeType.ALL, orphanRemoval = true)
137   - @JsonView({ ViewsContrato.TermoReferenciaEditView.class })
  137 + @JsonView({ ViewsContrato.TermoReferenciaEditView.class, ViewsContrato.ContratoAutoCompleteView.class })
138 138 private Collection<TermoReferenciaPenalidade> penalidades;
139 139  
140 140 @OneToMany(fetch = FetchType.LAZY, mappedBy = "termo", cascade = CascadeType.ALL, orphanRemoval = true)
141   - @JsonView({ ViewsContrato.TermoReferenciaEditView.class })
  141 + @JsonView({ ViewsContrato.TermoReferenciaEditView.class, ViewsContrato.ContratoAutoCompleteView.class })
142 142 private Collection<TermoReferenciaSancao> sancoes;
143 143  
144 144 /** Atributo observacoes. */
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/model/TermoReferenciaPenalidade.java
... ... @@ -24,17 +24,17 @@ import com.fasterxml.jackson.annotation.JsonView;
24 24 * <p><b>Title: </b></p> Termo de Referencia - Penalidade
25 25 *
26 26 * <p><b>Description: </b></p>
27   - *
  27 + *
28 28 * <p><b>Redmine(s):</b> <a href="LINK_PORTAL">2389</a></p>
29 29 *
30   - * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>
31   - *
  30 + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>
  31 + *
32 32 * @since 05/01/2016 - 17:17:06
33 33 *
34 34 * @version 1.0.0
35 35 *
36 36 * @author juliana.barbosa
37   - *
  37 + *
38 38 */
39 39 @Entity
40 40 @Table(name="cnt_tr_penalidade")
... ... @@ -47,27 +47,27 @@ public class TermoReferenciaPenalidade extends PersistentObjectAuditOrganizacao
47 47 /** Atributo id. */
48 48 @Id
49 49 @GeneratedValue(strategy = GenerationType.AUTO)
50   - @JsonView({ ViewsContrato.TermoReferenciaEditView.class, ViewsContrato.TermoReferenciaPenalidadeListView.class })
  50 + @JsonView({ ViewsContrato.TermoReferenciaEditView.class, ViewsContrato.TermoReferenciaPenalidadeListView.class, ViewsContrato.ContratoAutoCompleteView.class, ViewsContrato.EventoPenalidadeEditView.class})
51 51 private Long id;
52 52  
53   -
54   - @Column(length = 500, nullable=false)
55   - @JsonView({ ViewsContrato.TermoReferenciaEditView.class, ViewsContrato.EventoPenalidadeEditView.class, ViewsContrato.TermoReferenciaPenalidadeListView.class })
  53 +
  54 + @Column(length = 500, nullable=false)
  55 + @JsonView({ ViewsContrato.TermoReferenciaEditView.class, ViewsContrato.EventoPenalidadeEditView.class, ViewsContrato.TermoReferenciaPenalidadeListView.class, ViewsContrato.ContratoAutoCompleteView.class })
56 56 private String ocorrencia;
57   -
58   - @Column(length = 150, nullable=false)
59   - @JsonView({ ViewsContrato.TermoReferenciaEditView.class, ViewsContrato.TermoReferenciaPenalidadeListView.class, ViewsContrato.EventoPenalidadeEditView.class })
  57 +
  58 + @Column(length = 150, nullable=false)
  59 + @JsonView({ ViewsContrato.TermoReferenciaEditView.class, ViewsContrato.TermoReferenciaPenalidadeListView.class, ViewsContrato.EventoPenalidadeEditView.class, ViewsContrato.ContratoAutoCompleteView.class })
60 60 private String penalidade;
61   -
  61 +
62 62 @ManyToOne(fetch = FetchType.LAZY, optional = true)
63 63 //@JsonView({ ViewsContrato.TermoReferenciaEditView.class})
64   - private TermoReferencia termo;
65   -
  64 + private TermoReferencia termo;
  65 +
66 66 @ManyToOne(fetch = FetchType.LAZY, optional = true)
67 67 //@JsonView({ ViewsContrato.TermoReferenciaEditView.class})
68 68 @JoinColumn(name="termoinativo_id")
69   - private TermoReferencia termoInativo;
70   -
  69 + private TermoReferencia termoInativo;
  70 +
71 71 /**
72 72 * Retorna o valor do atributo <code>id</code>
73 73 *
... ... @@ -88,96 +88,96 @@ public class TermoReferenciaPenalidade extends PersistentObjectAuditOrganizacao
88 88 this.id = id;
89 89 }
90 90  
91   -
  91 +
92 92 /**
93 93 * Retorna o valor do atributo <code>ocorrencia</code>
94 94 *
95 95 * @return <code>String</code>
96 96 */
97 97 public String getOcorrencia() {
98   -
  98 +
99 99 return ocorrencia;
100 100 }
101 101  
102   -
  102 +
103 103 /**
104 104 * Define o valor do atributo <code>ocorrencia</code>.
105 105 *
106   - * @param ocorrencia
  106 + * @param ocorrencia
107 107 */
108 108 public void setOcorrencia(String ocorrencia) {
109   -
  109 +
110 110 this.ocorrencia = ocorrencia;
111 111 }
112 112  
113   -
  113 +
114 114 /**
115 115 * Retorna o valor do atributo <code>penalidade</code>
116 116 *
117 117 * @return <code>String</code>
118 118 */
119 119 public String getPenalidade() {
120   -
  120 +
121 121 return penalidade;
122 122 }
123 123  
124   -
  124 +
125 125 /**
126 126 * Define o valor do atributo <code>penalidade</code>.
127 127 *
128   - * @param penalidade
  128 + * @param penalidade
129 129 */
130 130 public void setPenalidade(String penalidade) {
131   -
  131 +
132 132 this.penalidade = penalidade;
133 133 }
134 134  
135   -
  135 +
136 136 /**
137 137 * Retorna o valor do atributo <code>termo</code>
138 138 *
139 139 * @return <code>TermoReferencia</code>
140 140 */
141 141 public TermoReferencia getTermo() {
142   -
  142 +
143 143 return termo;
144 144 }
145 145  
146   -
  146 +
147 147 /**
148 148 * Define o valor do atributo <code>termo</code>.
149 149 *
150   - * @param termo
  150 + * @param termo
151 151 */
152 152 public void setTermo(TermoReferencia termo) {
153   -
  153 +
154 154 this.termo = termo;
155 155 }
156 156  
157   -
  157 +
158 158 /**
159 159 * Retorna o valor do atributo <code>termoInativo</code>
160 160 *
161 161 * @return <code>TermoReferencia</code>
162 162 */
163 163 public TermoReferencia getTermoInativo() {
164   -
  164 +
165 165 return termoInativo;
166 166 }
167 167  
168   -
  168 +
169 169 /**
170 170 * Define o valor do atributo <code>termoInativo</code>.
171 171 *
172   - * @param termoInativo
  172 + * @param termoInativo
173 173 */
174 174 public void setTermoInativo(TermoReferencia termoInativo) {
175   -
  175 +
176 176 this.termoInativo = termoInativo;
177 177 }
178 178  
179   -
180   -
  179 +
  180 +
181 181  
182 182  
183 183 }
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/model/TermoReferenciaSancao.java
... ... @@ -53,11 +53,11 @@ public class TermoReferenciaSancao extends PersistentObjectAuditOrganizacao {
53 53  
54 54  
55 55 @Column(length = 500, nullable=false)
56   - @JsonView({ ViewsContrato.TermoReferenciaEditView.class, ViewsContrato.TermoReferenciaSancaoEditView.class, ViewsContrato.EventoRegistroNaoConformidadeView.class })
  56 + @JsonView({ ViewsContrato.TermoReferenciaEditView.class, ViewsContrato.TermoReferenciaSancaoEditView.class, ViewsContrato.EventoRegistroNaoConformidadeView.class, ViewsContrato.ContratoAutoCompleteView.class })
57 57 private String descricao;
58 58  
59 59 @Column(length = 150, nullable=false)
60   - @JsonView({ ViewsContrato.TermoReferenciaEditView.class, ViewsContrato.TermoReferenciaSancaoEditView.class, ViewsContrato.EventoRegistroNaoConformidadeView.class })
  60 + @JsonView({ ViewsContrato.TermoReferenciaEditView.class, ViewsContrato.TermoReferenciaSancaoEditView.class, ViewsContrato.EventoRegistroNaoConformidadeView.class, ViewsContrato.ContratoAutoCompleteView.class })
61 61 private String sancao;
62 62  
63 63 @ManyToOne(fetch = FetchType.LAZY, optional = true)
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/service/EventoLiberacaoPagamentoEmpenhoService.java
... ... @@ -25,4 +25,6 @@ public interface EventoLiberacaoPagamentoEmpenhoService extends GenericService&lt;E
25 25  
26 26 BigDecimal getValorTotalExecutadoEmpenho(Long empenhoId);
27 27  
  28 + Boolean existeVinculoEmpenhoComLiberacaoPagamento(Long idEmpenho);
  29 +
28 30 }
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/service/TermoReferenciaService.java
1 1 package br.com.centralit.api.service;
2 2  
  3 +import java.util.Collection;
  4 +
3 5 import javax.servlet.http.HttpServletResponse;
4 6  
5 7 import br.com.centralit.api.model.TermoReferencia;
... ... @@ -36,7 +38,9 @@ public interface TermoReferenciaService extends GenericService&lt;TermoReferencia,
36 38 * @param response
37 39 */
38 40 void gerarPdfTermoReferencia(Long idTermoReferencia, boolean download, HttpServletResponse response);
39   -
  41 +
40 42 TermoReferencia findTermoByEstudoTecnico(long estudoTecnicoId);
41 43  
  44 + Collection<TermoReferencia> findAutoCompleteTermoReferencia(String value, Long idOrganizacao);
  45 +
42 46 }
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/service/impl/ContratoEmpenhoServiceImpl.java
... ... @@ -126,6 +126,15 @@ public class ContratoEmpenhoServiceImpl extends GenericServiceImpl&lt;ContratoEmpen
126 126 return entitySaved;
127 127 }
128 128  
  129 + @Override
  130 + public ContratoEmpenho merge(ContratoEmpenho entity) {
  131 + entity.setDataEvento(entity.getData());
  132 + this.montarDocsObs(entity);
  133 + ContratoEmpenho entitySaved = super.save(entity);
  134 +
  135 + return entitySaved;
  136 + }
  137 +
129 138 private void montarDocsObs(ContratoEmpenho entity) {
130 139  
131 140 if (!UtilColecao.isVazio(entity.getObservacoes())) {
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/service/impl/ContratoServiceImpl.java
... ... @@ -26,14 +26,19 @@ import br.com.centralit.api.model.ContratoItem;
26 26 import br.com.centralit.api.model.ContratoObservacao;
27 27 import br.com.centralit.api.model.ContratoValorPagamento;
28 28 import br.com.centralit.api.model.DominioContrato;
  29 +import br.com.centralit.api.model.EventoAditivo;
  30 +import br.com.centralit.api.model.OrdemFornecimento;
29 31 import br.com.centralit.api.service.AnexoService;
30 32 import br.com.centralit.api.service.ColaboradorService;
31 33 import br.com.centralit.api.service.ConfiguracaoParametroSistemaService;
  34 +import br.com.centralit.api.service.ContratoEmpenhoService;
32 35 import br.com.centralit.api.service.ContratoService;
33 36 import br.com.centralit.api.service.DominioService;
34 37 import br.com.centralit.api.service.EstudoTecnicoService;
  38 +import br.com.centralit.api.service.EventoAditivoService;
35 39 import br.com.centralit.api.service.FornecedorService;
36 40 import br.com.centralit.api.service.InternacionalizacaoService;
  41 +import br.com.centralit.api.service.OrdemFornecimentoService;
37 42 import br.com.centralit.api.service.ParceiroService;
38 43 import br.com.centralit.api.service.UsuarioService;
39 44 import br.com.centralit.framework.exception.CodigoErro;
... ... @@ -67,7 +72,7 @@ import br.com.centralit.framework.util.UtilObjeto;
67 72 */
68 73 @Service("contratoService")
69 74 public class ContratoServiceImpl extends GenericServiceImpl<Contrato, Long> implements ContratoService {
70   -
  75 +
71 76 /** Atributo contratoDao. */
72 77 private ContratoDao contratoDao;
73 78  
... ... @@ -100,10 +105,19 @@ public class ContratoServiceImpl extends GenericServiceImpl&lt;Contrato, Long&gt; impl
100 105 /** Atributo colaboradorService. */
101 106 @Autowired
102 107 private EstudoTecnicoService estudoTecnicoService;
103   -
  108 +
104 109 @Autowired
105 110 private InternacionalizacaoService internacionalizacaoService;
106 111  
  112 + @Autowired
  113 + private ContratoEmpenhoService contratoEmpenhoService;
  114 +
  115 + @Autowired
  116 + private EventoAditivoService aditivoService;
  117 +
  118 + @Autowired
  119 + private OrdemFornecimentoService ordemFornecimentoService;
  120 +
107 121 /**
108 122 * Responsável pela criação de novas instâncias desta classe.
109 123 * @param contratoDao
... ... @@ -142,9 +156,9 @@ public class ContratoServiceImpl extends GenericServiceImpl&lt;Contrato, Long&gt; impl
142 156 }
143 157  
144 158 validarExistenciaContratoMesmoNumeroAno(contrato);
145   -
  159 +
146 160 validarPapeisEnvolvidos(contrato);
147   -
  161 +
148 162 return super.save(contrato);
149 163 }
150 164  
... ... @@ -222,17 +236,28 @@ public class ContratoServiceImpl extends GenericServiceImpl&lt;Contrato, Long&gt; impl
222 236  
223 237 contratoEmpenho.setContrato(contrato);
224 238 contratoEmpenho.setContratoEmpenho(contrato);
225   -
  239 +
226 240 contratoEmpenho.setDataEvento(contratoEmpenho.getData());
227   -
  241 +
228 242 contratoEmpenho.setTipoEvento(this.dominioService.findByChaveAndCodigo(DominioContrato.TIPO_EVENTO_CONTRATO, DominioContrato.TIPO_EVENTO_EMPENHO));
229   -
  243 +
230 244 Dominio idioma = this.dominioService.findByChaveAndCodigo("tipoIdioma", Dominio.TIPO_IDIOMA_PT_BR_CODIGO);
231 245 String descricaoEmpenho = this.internacionalizacaoService.getTranslate("CONTRATOS.MSG.DESCRICAO_EMPENHO", idioma);
232 246 descricaoEmpenho = descricaoEmpenho.replace(":VALOR:", Util.convertBigDecimalToString(contratoEmpenho.getValorEmpenhado()));
233 247 descricaoEmpenho = descricaoEmpenho.replace(":DATAEVENTO:", UtilDate.formatarData(contratoEmpenho.getData().getTime(), "dd/MM/yyyy"));
234   -
  248 +
235 249 contratoEmpenho.setDescricao(descricaoEmpenho);
  250 +
  251 + if(UtilObjeto.isReferencia(contratoEmpenho.getId())){
  252 + ContratoEmpenho empenho = this.contratoEmpenhoService.find(contratoEmpenho.getId());
  253 + if(!UtilColecao.isVazio(empenho.getObservacoes())){
  254 + contratoEmpenho.setObservacoes(empenho.getObservacoes());
  255 + }
  256 + if(!UtilColecao.isVazio(empenho.getDocumentos())){
  257 + contratoEmpenho.setDocumentos(empenho.getDocumentos());
  258 + }
  259 + }
  260 +
236 261 }
237 262 }
238 263  
... ... @@ -262,15 +287,37 @@ public class ContratoServiceImpl extends GenericServiceImpl&lt;Contrato, Long&gt; impl
262 287 contratoEnvolvido.setContrato(contrato);
263 288 }
264 289 }
265   -
  290 +
266 291 // cria vinculo do contrato com as justificativas de alterções dos envolvidos
267 292 if (!UtilColecao.isVazio(contrato.getJustificativas())){
268   -
  293 +
269 294 for (ContratoEnvolvidoJustificativa justificativa : contrato.getJustificativas()) {
270   -
  295 +
271 296 justificativa.setContrato(contrato);
272 297 }
273 298 }
  299 +
  300 + if (!UtilColecao.isVazio(contrato.getAditivos())){
  301 + for (EventoAditivo aditivo : contrato.getAditivos()) {
  302 + EventoAditivo eventoAd = this.aditivoService.find(aditivo.getId());
  303 + aditivo.setDataEmissao(eventoAd.getDataEmissao());
  304 + aditivo.setTipoAlteracao(eventoAd.getTipoAlteracao());
  305 + aditivo.setJustificativa(eventoAd.getJustificativa());
  306 + if(!UtilColecao.isVazio(eventoAd.getObservacoes())){
  307 + aditivo.setObservacoes(eventoAd.getObservacoes());
  308 + }
  309 + if(!UtilColecao.isVazio(eventoAd.getDocumentos())){
  310 + aditivo.setDocumentos(eventoAd.getDocumentos());
  311 + }
  312 + }
  313 + }
  314 +
  315 + if (!UtilColecao.isVazio(contrato.getOrdensFornecimento())){
  316 + for (OrdemFornecimento ordem : contrato.getOrdensFornecimento()) {
  317 + ordem.setContrato(contrato);
  318 + }
  319 + }
  320 +
274 321 }
275 322  
276 323 /**
... ... @@ -388,48 +435,48 @@ public class ContratoServiceImpl extends GenericServiceImpl&lt;Contrato, Long&gt; impl
388 435 public Collection<Contrato> findAutoCompleteContratoPorNumeroAndOrganizacao(String numeroAnoContrato, Long idOrganizacao) {
389 436  
390 437 return contratoDao.findAutoCompleteContratoPorNumeroAndOrganizacao(numeroAnoContrato, idOrganizacao);
391   - }
392   -
  438 + }
  439 +
393 440 /**
394 441 * Método responsável validar se os papéis obrigatórios dos envolvidos no contrado foram informados.
395 442 *
396 443 * @author luis.camargo
397 444 *
398 445 * @param contrato
399   - *
  446 + *
400 447 */
401 448 private void validarPapeisEnvolvidos(Contrato contrato) {
402 449 List<Long> papeisInformados = new ArrayList<Long>();
403   -
  450 +
404 451 for (ContratoEnvolvido envolvido : contrato.getCtrtEnvolvidos()) {
405 452 papeisInformados.add(envolvido.getDominioPapelEnvolvidoContrato().getCodigo());
406 453 }
407   -
  454 +
408 455 StringBuilder complemento = new StringBuilder().append(
409 456 DominioContrato.DESCRICAO_TIPO_PAPEL_ENVOLVIDO_CONTRATO_GESTOR).append(", ").append(
410 457 DominioContrato.DESCRICAO_TIPO_PAPEL_ENVOLVIDO_CONTRATO_FISCAL_ADMINISTRATIVO).append(" e ").append(
411 458 DominioContrato.DESCRICAO_TIPO_PAPEL_ENVOLVIDO_CONTRATO_FISCAL_TECNICO);
412 459  
413   - boolean hasObrigatorios = papeisInformados.contains(DominioContrato.CODIGO_TIPO_PAPEL_ENVOLVIDO_CONTRATO_GESTOR) &&
414   - papeisInformados.contains(DominioContrato.CODIGO_TIPO_PAPEL_ENVOLVIDO_CONTRATO_FISCAL_TECNICO) &&
  460 + boolean hasObrigatorios = papeisInformados.contains(DominioContrato.CODIGO_TIPO_PAPEL_ENVOLVIDO_CONTRATO_GESTOR) &&
  461 + papeisInformados.contains(DominioContrato.CODIGO_TIPO_PAPEL_ENVOLVIDO_CONTRATO_FISCAL_TECNICO) &&
415 462 papeisInformados.contains(DominioContrato.CODIGO_TIPO_PAPEL_ENVOLVIDO_CONTRATO_FISCAL_ADMINISTRATIVO);
416 463 lancarBusinessException(!hasObrigatorios, "CONTRATOS.VALIDACAO.PAPEIS_OBRIGATORIOS_CONTRATO_FALTANDO", CodigoErro.REGRA_NEGOCIO.getValue(), complemento.toString());
417 464 }
418   -
  465 +
419 466 /**
420 467 * Método responsável validar se existe contrato com o mesmo numero/ano.
421   - *
  468 + *
422 469 * @author ronan.camargo
423   - *
  470 + *
424 471 * @param contrato
425 472 */
426 473 @SuppressWarnings({ "rawtypes", "unchecked" })
427 474 private void validarExistenciaContratoMesmoNumeroAno(Contrato contrato) {
428   -
  475 +
429 476 List<Contrato> contratos = (List) contratoDao.buscarPorAtributo("numeroAnoContrato", contrato.getNumeroAnoContrato());
430   -
  477 +
431 478 boolean isExistente = contratos != null && contratos.size() > 0;
432   -
  479 +
433 480 lancarBusinessException("CONTRATOS.VALIDACAO.NUMERO_CONTRATO_DUPLICADO", CodigoErro.REGRA_NEGOCIO.getValue(), isExistente);
434 481 }
435 482 }
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/service/impl/EventoLiberacaoPagamentoEmpenhoServiceImpl.java
... ... @@ -42,4 +42,9 @@ public class EventoLiberacaoPagamentoEmpenhoServiceImpl extends GenericServiceIm
42 42 return this.eventoLiberacaoPagamentoEmpenhoDao.getValorTotalExecutadoEmpenho(empenhoId);
43 43 }
44 44  
  45 + @Override
  46 + public Boolean existeVinculoEmpenhoComLiberacaoPagamento(Long idEmpenho) {
  47 + return this.eventoLiberacaoPagamentoEmpenhoDao.existeVinculoEmpenhoComLiberacaoPagamento(idEmpenho);
  48 + }
  49 +
45 50 }
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/service/impl/EventoPenalidadeServiceImpl.java
... ... @@ -87,8 +87,8 @@ public class EventoPenalidadeServiceImpl extends GenericServiceImpl&lt;EventoPenali
87 87  
88 88 @Override
89 89 public EventoPenalidade save(EventoPenalidade eventoPenalidade) {
90   -
91 90 eventoPenalidade.setContrato(this.contratoService.getReference(eventoPenalidade.getContrato().getId()));
  91 +
92 92 this.validarEntidade(eventoPenalidade, this.validator);
93 93  
94 94 montarObjeto(eventoPenalidade);
... ... @@ -96,6 +96,19 @@ public class EventoPenalidadeServiceImpl extends GenericServiceImpl&lt;EventoPenali
96 96 return super.save(eventoPenalidade);
97 97 }
98 98  
  99 + @Override
  100 + public EventoPenalidade merge(EventoPenalidade eventoPenalidade) {
  101 + eventoPenalidade.setContrato(this.contratoService.getReference(eventoPenalidade.getContrato().getId()));
  102 +
  103 + this.validarEntidade(eventoPenalidade, this.validator);
  104 +
  105 + montarObjeto(eventoPenalidade);
  106 +
  107 + super.save(eventoPenalidade);
  108 +
  109 + return eventoPenalidade;
  110 + }
  111 +
99 112 /**
100 113 *
101 114 * Método responsável por montar os objetos
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/service/impl/EventoRegistroNaoConformidadeServiceImpl.java
... ... @@ -116,6 +116,12 @@ public class EventoRegistroNaoConformidadeServiceImpl extends GenericServiceImpl
116 116 return entitySaved;
117 117 }
118 118  
  119 + public EventoRegistroNaoConformidade merge(EventoRegistroNaoConformidade entity) {
  120 + this.validarEntidade(entity, this.validator);
  121 + this.montarDocsObs(entity);
  122 + return super.merge(entity);
  123 + }
  124 +
119 125 private void montarDocsObs(EventoRegistroNaoConformidade evento) {
120 126  
121 127 if (!UtilColecao.isVazio(evento.getObservacoes())) {
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/service/impl/EventoRepactuacaoServiceImpl.java
... ... @@ -41,7 +41,6 @@ import br.com.centralit.framework.model.Dominio;
41 41 import br.com.centralit.framework.model.Usuario;
42 42 import br.com.centralit.framework.service.arquitetura.GenericServiceImpl;
43 43 import br.com.centralit.framework.util.UtilDataBase;
44   -import br.com.centralit.framework.util.UtilDate;
45 44 import br.com.centralit.framework.util.UtilObjeto;
46 45  
47 46  
... ... @@ -108,6 +107,14 @@ public class EventoRepactuacaoServiceImpl extends GenericServiceImpl&lt;EventoRepac
108 107 return super.save(eventoRepactuacao);
109 108 }
110 109  
  110 + @Override
  111 + public EventoRepactuacao merge(EventoRepactuacao eventoRepactuacao) {
  112 + montarObjeto(eventoRepactuacao);
  113 + this.validarEntidade(eventoRepactuacao, this.validator);
  114 +
  115 + EventoRepactuacao entityMerged = super.save(eventoRepactuacao);
  116 + return entityMerged;
  117 + }
111 118 /**
112 119 *
113 120 * @param eventoRepactuacao
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/service/impl/InicializarContratosServiceImpl.java
... ... @@ -434,6 +434,9 @@ public class InicializarContratosServiceImpl extends UtilStartup {
434 434 filesMenuAcompanhamento.add(new MenuFile(CIT_CONTRATOS_WEB_ANGULAR_CUSTOM + "repository/EventoRecebimentoObjetoRepository.js", this.dominioJS, menuAcompanhamento));
435 435 filesMenuAcompanhamento.add(new MenuFile(CIT_CONTRATOS_WEB_ANGULAR_CUSTOM + "repository/EventoRecebimentoObjetoRepository.min.js", this.dominioJS, menuAcompanhamento));
436 436  
  437 + filesMenuAcompanhamento.add(new MenuFile(CIT_CONTRATOS_WEB_ANGULAR_CUSTOM + "repository/EventoLiberacaoPagamentoEmpenhoRepository.js", this.dominioJS, menuAcompanhamento));
  438 + filesMenuAcompanhamento.add(new MenuFile(CIT_CONTRATOS_WEB_ANGULAR_CUSTOM + "repository/EventoLiberacaoPagamentoEmpenhoRepository.min.js", this.dominioJS, menuAcompanhamento));
  439 +
437 440  
438 441 menuAcompanhamento.setIncludes(filesMenuAcompanhamento);
439 442  
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/service/impl/TermoReferenciaServiceImpl.java
... ... @@ -350,4 +350,9 @@ public class TermoReferenciaServiceImpl extends GenericServiceImpl&lt;TermoReferenc
350 350 return this.termoReferenciaDao.findTermoByEstudoTecnico(estudoTecnicoId);
351 351 }
352 352  
  353 + @Override
  354 + public Collection<TermoReferencia> findAutoCompleteTermoReferencia(String value, Long idOrganizacao) {
  355 + return this.termoReferenciaDao.findAutoCompleteTermoReferencia(value, idOrganizacao);
  356 + }
  357 +
353 358 }
... ...
cit-contratos-api/src/main/java/br/com/centralit/api/service/validation/EventoRegistroNaoConformidadeValidator.java
... ... @@ -41,10 +41,12 @@ public class EventoRegistroNaoConformidadeValidator implements Validator {
41 41 ValidationUtils.rejectIfEmpty(errors, "dataNaoConformidade", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "CONTRATOS.REGISTRO_NAO_CONFORMIDADE.DATA");
42 42 ValidationUtils.rejectIfEmpty(errors, "tipoNaoConformidade", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "CONTRATOS.REGISTRO_NAO_CONFORMIDADE.APLICAVEL");
43 43  
44   - if (evento.getDataNaoConformidade().getTimeInMillis() < evento.getContrato().getDataVigenciaInicial().getTimeInMillis()
45   - || evento.getDataNaoConformidade().getTimeInMillis() > evento.getContrato().getDataUltimaVigenciaFinal().getTimeInMillis()) {
  44 + if (evento.getDataNaoConformidade() != null && evento.getContrato() != null && evento.getContrato().getDataVigenciaInicial() != null) {
  45 + if(evento.getDataNaoConformidade().getTimeInMillis() < evento.getContrato().getDataVigenciaInicial().getTimeInMillis()
  46 + || evento.getDataNaoConformidade().getTimeInMillis() > evento.getContrato().getDataUltimaVigenciaFinal().getTimeInMillis()){
46 47  
47   - errors.rejectValue("dataNaoConformidade", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "CONTRATOS.MSG.DATA_NAO_CONFORMIDADE_INVALIDA");
  48 + errors.rejectValue("dataNaoConformidade", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "CONTRATOS.MSG.DATA_NAO_CONFORMIDADE_INVALIDA");
  49 + }
48 50 }
49 51  
50 52 }
... ...
cit-contratos-api/src/main/resources/script-bd/v1.0.0-alpha11/01-cit-contratos-1.0.0-ALFA-11-postgres.sql 0 → 100644
... ... @@ -0,0 +1,13 @@
  1 +-- ERICK SATO INÍCIO 04/04/2016
  2 +ALTER TABLE cnt_contrato ADD COLUMN termoReferencia_id bigint;
  3 +-- ERICK SATO FIM 04/04/2016
  4 +
  5 +-- LUÍS CÉSAR INÍCIO 05/04/2016
  6 +INSERT INTO menufile (id, datacriacao, dataedicao, version, ativo, caminho, dominiomenufile_id, menu_id)
  7 +VALUES (NEXTVAL('hibernate_sequence'), LOCALTIMESTAMP, LOCALTIMESTAMP, 0, true, '/cit-contratos-web/assets/js/angular/custom/repository/EventoLiberacaoPagamentoEmpenhoRepository.js',
  8 + (SELECT id FROM dominio WHERE chave = 'tipoFile' AND codigo = 2), (SELECT id FROM menu WHERE chave = 'ACOMPANHAMENTO'));
  9 +
  10 +INSERT INTO menufile (id, datacriacao, dataedicao, version, ativo, caminho, dominiomenufile_id, menu_id)
  11 +VALUES (NEXTVAL('hibernate_sequence'), LOCALTIMESTAMP, LOCALTIMESTAMP, 0, true, '/cit-contratos-web/assets/js/angular/custom/repository/EventoLiberacaoPagamentoEmpenhoRepository.min.js',
  12 + (SELECT id FROM dominio WHERE chave = 'tipoFile' AND codigo = 2), (SELECT id FROM menu WHERE chave = 'ACOMPANHAMENTO'));
  13 +-- LUÍS CÉSAR FIM 05/04/2016
... ...
cit-contratos-web/src/main/java/br/com/centralit/controller/ContratoEventoController.java
... ... @@ -3,15 +3,12 @@ package br.com.centralit.controller;
3 3 import java.io.IOException;
4 4 import java.sql.SQLException;
5 5 import java.util.ArrayList;
6   -import java.util.Arrays;
7 6 import java.util.Collection;
8 7 import java.util.Date;
9 8 import java.util.List;
10 9  
11 10 import javax.servlet.http.HttpServletResponse;
12 11  
13   -import net.sf.jasperreports.engine.JRException;
14   -
15 12 import org.apache.commons.lang3.StringUtils;
16 13 import org.springframework.beans.factory.annotation.Autowired;
17 14 import org.springframework.stereotype.Controller;
... ... @@ -33,6 +30,7 @@ import br.com.centralit.framework.exception.BusinessException;
33 30 import br.com.centralit.framework.json.ResponseBodyWrapper;
34 31 import br.com.centralit.framework.util.UtilDate;
35 32 import br.com.centralit.framework.util.UtilString;
  33 +import net.sf.jasperreports.engine.JRException;
36 34  
37 35 /**
38 36 *
... ...
cit-contratos-web/src/main/java/br/com/centralit/controller/EventoLiberacaoPagamentoEmpenhoController.java 0 → 100644
... ... @@ -0,0 +1,46 @@
  1 +package br.com.centralit.controller;
  2 +
  3 +import org.springframework.beans.factory.annotation.Autowired;
  4 +import org.springframework.stereotype.Controller;
  5 +import org.springframework.web.bind.annotation.RequestMapping;
  6 +import org.springframework.web.bind.annotation.RequestMethod;
  7 +import org.springframework.web.bind.annotation.RequestParam;
  8 +import org.springframework.web.bind.annotation.ResponseBody;
  9 +
  10 +import br.com.centralit.api.model.EventoLiberacaoPagamentoEmpenho;
  11 +import br.com.centralit.api.service.EventoLiberacaoPagamentoEmpenhoService;
  12 +import br.com.centralit.framework.controller.GenericController;
  13 +import br.com.centralit.framework.json.ResponseBodyWrapper;
  14 +
  15 +@Controller
  16 +@RequestMapping("/rest/eventoLiberacaoPagamentoEmpenho")
  17 +public class EventoLiberacaoPagamentoEmpenhoController extends GenericController<EventoLiberacaoPagamentoEmpenho>{
  18 +
  19 + private EventoLiberacaoPagamentoEmpenhoService eventoLiberacaoPagamentoEmpenhoService;
  20 +
  21 + public EventoLiberacaoPagamentoEmpenhoController() {
  22 + super();
  23 + }
  24 +
  25 + /**
  26 + * Responsável pela criação de novas instâncias desta classe.
  27 + *
  28 + * @param eventoAtualizacaoStatusService
  29 + */
  30 + @Autowired
  31 + private EventoLiberacaoPagamentoEmpenhoController( EventoLiberacaoPagamentoEmpenhoService eventoLiberacaoPagamentoEmpenhoService ) {
  32 +
  33 + super(eventoLiberacaoPagamentoEmpenhoService);
  34 +
  35 + this.eventoLiberacaoPagamentoEmpenhoService = eventoLiberacaoPagamentoEmpenhoService;
  36 +
  37 + }
  38 +
  39 + @RequestMapping(value = "/existeVinculoEmpenhoComLiberacaoPagamento", method = RequestMethod.GET, produces = "application/json")
  40 + @ResponseBody
  41 + public ResponseBodyWrapper existeVinculoEmpenhoComLiberacaoPagamento(@RequestParam(value = "idEmpenho") Long idEmpenho) {
  42 + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(eventoLiberacaoPagamentoEmpenhoService.existeVinculoEmpenhoComLiberacaoPagamento(idEmpenho), getEditView());
  43 + return responseBody;
  44 + }
  45 +
  46 +}
... ...
cit-contratos-web/src/main/java/br/com/centralit/controller/TermoReferenciaController.java
... ... @@ -18,6 +18,7 @@ import br.com.centralit.api.model.TermoReferencia;
18 18 import br.com.centralit.api.service.TermoReferenciaService;
19 19 import br.com.centralit.api.viewHelper.ViewsContrato;
20 20 import br.com.centralit.framework.controller.GenericController;
  21 +import br.com.centralit.framework.json.ResponseBodyWrapper;
21 22  
22 23  
23 24 /**
... ... @@ -85,4 +86,13 @@ public class TermoReferenciaController extends GenericController&lt;TermoReferencia
85 86  
86 87 termoReferenciaService.gerarPdfTermoReferencia (termoReferenciaId, download, response);
87 88 }
  89 +
  90 + @RequestMapping(value = "/findAutoCompleteTermoReferencia", method = RequestMethod.GET, produces = "application/json")
  91 + @ResponseBody
  92 + public ResponseBodyWrapper findAutoCompleteTermoReferencia(@RequestParam(value = "value") String value, @RequestParam(value = "idOrganizacao") Long idOrganizacao) {
  93 +
  94 + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(this.termoReferenciaService.findAutoCompleteTermoReferencia(value, idOrganizacao), getEditView());
  95 +
  96 + return responseBody;
  97 + }
88 98 }
... ...
cit-contratos-web/src/main/java/br/com/centralit/listener/StartupListenerContratos.java
... ... @@ -981,6 +981,10 @@ public class StartupListenerContratos extends UtilStartup implements Application
981 981 internacionalizacaoList.add(new Internacionalizacao("CONTRATOS.LABEL.RELATORIO_PENALIDADE_APLICADA", "Relatório de penalidades aplicadas", dominio, modulo));
982 982  
983 983 internacionalizacaoList.add(new Internacionalizacao("CONTRATOS.LABEL.RELATORIOS", "Relatórios do contrato", dominio, modulo));
  984 +
  985 + internacionalizacaoList.add(new Internacionalizacao("CONTRATOS.LABEL.TERMO_REFERENCIA_PROJETO_BASICO", "Termo de referência/Projeto Básico", dominio, modulo));
  986 + internacionalizacaoList.add(new Internacionalizacao("CONTRATOS.LABEL.CONTRATO_SEM_VINCULO_TERMO", "Contrato selecionado está sem vínculo a um termo de referência.", dominio, modulo));
  987 + internacionalizacaoList.add(new Internacionalizacao("CONTRATOS.LABEL.ENCERRAMENTO_CONTRATO", "Encerramento de contrato", dominio, modulo));
984 988 }
985 989  
986 990 private void gerarMensagem(Dominio dominio, Modulo modulo, List<Internacionalizacao> internacionalizacaoList) {
... ...
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="0"/>
  5 + <property name="ireport.y" value="426"/>
6 6 <style name="table">
7 7 <box>
8 8 <pen lineWidth="1.0" lineColor="#000000"/>
... ... @@ -50,7 +50,7 @@
50 50 ocorrencia.sequencialano AS numeroOcorrencia,
51 51 REPACTUACAO.justificativarepactuacao AS justificativaRepactuacao,
52 52 pesGestor.nome AS gestor, cGestor.matricula AS gestorMatricula, pesAdm.nome AS fiscalAdm,
53   - cAdm.matricula AS fiscalAdmMatricula, pesReq.nome AS fiscalRequisitante, cReq.matricula AS fiscalRequisitanteMatricula
  53 + cAdm.matricula AS fiscalAdmMatricula, pesTec.nome AS fiscalTecnico, cTec.matricula AS fiscalTecnicoMatricula
54 54 FROM cnt_ev_repactuacao AS REPACTUACAO
55 55 INNER JOIN cnt_cn_evento EVENTO ON EVENTO.ID = REPACTUACAO.ID
56 56 INNER JOIN cnt_contrato C ON C.ID = EVENTO.CONTRATO_ID
... ... @@ -68,10 +68,10 @@ FROM cnt_ev_repactuacao AS REPACTUACAO
68 68 LEFT JOIN parceiro parAdm ON parAdm.id = fAdm.envolvido_id
69 69 LEFT JOIN parceiro_colaborador cAdm ON cAdm.id = fAdm.envolvido_id
70 70 LEFT JOIN pessoa pesAdm ON pesAdm.id = parAdm.pessoa_id
71   - LEFT JOIN cnt_cn_envolvido fReq ON (fReq.contrato_id = c.id AND fReq.papelenvolvidocontrato_id = (SELECT id FROM dominio WHERE chave = 'tipoPapelEnvolvidoContrato' AND codigo = 5))
72   - LEFT JOIN parceiro parReq ON parReq.id = fReq.envolvido_id
73   - LEFT JOIN parceiro_colaborador cReq ON cReq.id = fReq.envolvido_id
74   - LEFT JOIN pessoa pesReq ON pesReq.id = parReq.pessoa_id
  71 + LEFT JOIN cnt_cn_envolvido fTec ON (fTec.contrato_id = c.id AND fTec.papelenvolvidocontrato_id = (SELECT id FROM dominio WHERE chave = 'tipoPapelEnvolvidoContrato' AND codigo = 3))
  72 + LEFT JOIN parceiro parTec ON parTec.id = fTec.envolvido_id
  73 + LEFT JOIN parceiro_colaborador cTec ON cTec.id = fTec.envolvido_id
  74 + LEFT JOIN pessoa pesTec ON pesTec.id = parTec.pessoa_id
75 75  
76 76 WHERE REPACTUACAO.ID = $P{REPACTUACAO_ID};]]>
77 77 </queryString>
... ... @@ -94,8 +94,8 @@ WHERE REPACTUACAO.ID = $P{REPACTUACAO_ID};]]&gt;
94 94 <field name="gestormatricula" class="java.lang.String"/>
95 95 <field name="fiscaladm" class="java.lang.String"/>
96 96 <field name="fiscaladmmatricula" class="java.lang.String"/>
97   - <field name="fiscalrequisitante" class="java.lang.String"/>
98   - <field name="fiscalrequisitantematricula" class="java.lang.String"/>
  97 + <field name="fiscaltecnico" class="java.lang.String"/>
  98 + <field name="fiscaltecnicomatricula" class="java.lang.String"/>
99 99 <detail>
100 100 <band height="416" splitType="Stretch">
101 101 <staticText>
... ... @@ -564,7 +564,7 @@ $F{numerorepactuacao}.substring(5,9)]]&gt;&lt;/textFieldExpression&gt;
564 564 <textElement textAlignment="Center" verticalAlignment="Middle">
565 565 <font isBold="true"/>
566 566 </textElement>
567   - <textFieldExpression><![CDATA[$F{fiscalrequisitante} != null ? $F{fiscalrequisitante} : "FISCAL REQUISITANTE"]]></textFieldExpression>
  567 + <textFieldExpression><![CDATA[$F{fiscaltecnico} != null ? $F{fiscaltecnico} : "FISCAL TÉCNICO"]]></textFieldExpression>
568 568 </textField>
569 569 <textField isStretchWithOverflow="true" isBlankWhenNull="true">
570 570 <reportElement positionType="Float" mode="Transparent" x="0" y="25" width="178" height="25" isPrintWhenDetailOverflows="true" backcolor="#FFFFFF" uuid="83673995-ff57-47d6-a2e4-fb4a85891c36"/>
... ... @@ -606,7 +606,7 @@ $F{numerorepactuacao}.substring(5,9)]]&gt;&lt;/textFieldExpression&gt;
606 606 <textElement textAlignment="Center" verticalAlignment="Middle">
607 607 <font isBold="false"/>
608 608 </textElement>
609   - <textFieldExpression><![CDATA[$F{fiscalrequisitantematricula}]]></textFieldExpression>
  609 + <textFieldExpression><![CDATA[$F{fiscaltecnicomatricula}]]></textFieldExpression>
610 610 </textField>
611 611 </frame>
612 612 <staticText>
... ...
cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/ContratoController.js
... ... @@ -3,11 +3,11 @@
3 3 citApp.controller('ContratoController', ['$scope', '$filter', 'FileUploader', 'ContratoRepository', '$translate', '$timeout',
4 4 'DominioRepository', 'FornecedorRepository', 'ColaboradorRepository', 'ParceiroRepository',
5 5 'PessoaRepository', 'ProgramaRepository', 'EstudoTecnicoRepository', 'ProgramaAcaoRepository',
6   - 'ContratoEnvolvidoRepository', '$q',
  6 + 'ContratoEnvolvidoRepository', '$q','TermoReferenciaRepository',
7 7 function ContratoController($scope, $filter, FileUploader, ContratoRepository, $translate, $timeout,
8 8 DominioRepository, FornecedorRepository, ColaboradorRepository, ParceiroRepository,
9 9 PessoaRepository, ProgramaRepository, EstudoTecnicoRepository, ProgramaAcaoRepository,
10   - ContratoEnvolvidoRepository, $q) {
  10 + ContratoEnvolvidoRepository, $q, TermoReferenciaRepository) {
11 11  
12 12  
13 13 // ###################### INICIO: INICIALIZACAO DE VARIAVEIS ###########################
... ... @@ -222,6 +222,12 @@ citApp.controller(&#39;ContratoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;FileUploader&#39;, &#39;C
222 222 });
223 223 };
224 224  
  225 + $scope.findAutoCompleteTermoReferencia = function(value) {
  226 + return TermoReferenciaRepository.findAutoCompleteTermoReferencia(value, $scope.usuarioLogado.organizacao.id).then(function(result) {
  227 + return result;
  228 + });
  229 + };
  230 +
225 231 $scope.setCnpjFornecedor = function (fornecedor) {
226 232 $scope.contrato.cnpjFornecedor = fornecedor.pessoa.pessoaJuridica.cnpj;
227 233 };
... ... @@ -563,12 +569,12 @@ citApp.controller(&#39;ContratoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;FileUploader&#39;, &#39;C
563 569 });
564 570 }
565 571 });
566   -
  572 +
567 573 // watch para calcular valor da porecentagem da garantia
568 574 $scope.$watchCollection('contrato.valorGarantia', function() {
569 575 $scope.atualizaPercentualGarantia();
570 576 });
571   -
  577 +
572 578 // watch para calcular valor da porecentagem da garantia
573 579 $scope.$watchCollection('contrato.valorContrato', function() {
574 580 if ($scope.contrato.valorGarantia) {
... ... @@ -1588,7 +1594,7 @@ citApp.controller(&#39;ContratoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;FileUploader&#39;, &#39;C
1588 1594 }
1589 1595 return contratoEnvolvidoChecked;
1590 1596 };
1591   -
  1597 +
1592 1598 $scope.radioValueList = [{descricao : $translate.instant('LABEL.SIM'), valor : true},
1593 1599 {descricao : $translate.instant('LABEL.NAO'), valor : false}];
1594 1600  
... ...
cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/ContratoListController.js
... ... @@ -10,10 +10,10 @@ citApp.controller(&#39;ContratoListController&#39;, [&#39;$scope&#39;, &#39;ContratoRepository&#39;, &#39;Do
10 10 };
11 11  
12 12 // DEFINE CABEÇALHOS DA LISTAGEM
13   - $scope.headers = [ { title : $translate.instant('LABEL.NUMERO_ANO_CONTRATO'), value : 'numeroAnoContrato', filter : 'maskContrato' } ,
  13 + $scope.headers = [ { title : $translate.instant('LABEL.NUMERO_ANO_CONTRATO'), value : 'numeroAnoContrato', typeMask: 'MASK_CONTRATO', mask : [new RegExp(/(\d{3})(\d{1,4})$/), '$1/$2'] } ,
14 14 { title : $translate.instant('LABEL.TIPO_CONTRATO'), value : 'dominioTipoContrato.descricao' } ,
15   - { title : $translate.instant('LABEL.DATA_VIGENCIA_INICIAL'), value : 'dataVigenciaInicial', filter : 'dateBR' },
16   - { title : $translate.instant('LABEL.DATA_VIGENCIA_FINAL'), value : 'dataVigenciaFinal', filter : 'dateBR' },
  15 + { title : $translate.instant('LABEL.DATA_VIGENCIA_INICIAL'), value : 'dataVigenciaInicial', filter : 'dateBR' },
  16 + { title : $translate.instant('LABEL.DATA_VIGENCIA_FINAL'), value : 'dataVigenciaFinal', filter : 'dateBR' },
17 17 { title : $translate.instant('LABEL.SITUACAO_ATUAL'), value : 'dominioSituacaoAtual.descricao' }];
18 18  
19 19 // DIFINE FILTROS DE PESQUISA E CAMPOS QUE DEVEM SER APRESENTADOS NA LISTAGEM
... ... @@ -33,7 +33,7 @@ citApp.controller(&#39;ContratoListController&#39;, [&#39;$scope&#39;, &#39;ContratoRepository&#39;, &#39;Do
33 33 DominioRepository.findAllDominio('tipoContrato').then(function(result) {
34 34 $scope.filterCriteria.filters[1].listaDominio = result;
35 35 });
36   -
  36 +
37 37 DominioRepository.findAllDominio('tipoSituacaoContrato').then(function(result) {
38 38 $scope.filterCriteria.filters[4].listaDominio = result;
39 39 });
... ... @@ -52,7 +52,7 @@ citApp.controller(&#39;ContratoListController&#39;, [&#39;$scope&#39;, &#39;ContratoRepository&#39;, &#39;Do
52 52 angular.element('#editContrato').scope().getContrato(contrato.id, edit);
53 53 $scope.$showPageEditWorkspace($scope.workspace);
54 54 };
55   -
  55 +
56 56 $scope.gerarRelatorioTermoContrato = function() {
57 57  
58 58 if(!$scope.contratoChecked){
... ... @@ -61,7 +61,7 @@ citApp.controller(&#39;ContratoListController&#39;, [&#39;$scope&#39;, &#39;ContratoRepository&#39;, &#39;Do
61 61 $scope.url = '/cit-contratos-web/rest/contrato/gerarTermoContrato?idContrato='+ $scope.contratoChecked.id;
62 62 $scope.visualizarRelatorio($scope.url, $translate.instant("LABEL.TITULO_CONTRATO"));
63 63 }
64   -
  64 +
65 65 };
66 66  
67 67 }]);
68 68 \ No newline at end of file
... ...
cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/CronogramaExecucaoListController.js
1 1 'use strict';
2   -citApp.controller('CronogramaExecucaoListController', ['$scope', '$translate', '$timeout', 'CronogramaExecucaoRepository',
  2 +citApp.controller('CronogramaExecucaoListController', ['$scope', '$translate', '$timeout', 'CronogramaExecucaoRepository',
3 3 function CronogramaExecucaoListController($scope, $translate, $timeout, CronogramaExecucaoRepository) {
4 4  
5 5 $scope.resetForm = function() {
... ... @@ -14,6 +14,7 @@ citApp.controller(&#39;CronogramaExecucaoListController&#39;, [&#39;$scope&#39;, &#39;$translate&#39;, &#39;
14 14 },{
15 15 value : 'contrato.numeroAnoContrato',
16 16 title : $translate.instant('LABEL.NUMERO_CONTRATO'),
  17 + typeMask: 'MASK_CONTRATO',
17 18 filter : 'maskContrato',
18 19 tamanho : 15
19 20 },{
... ... @@ -61,7 +62,7 @@ citApp.controller(&#39;CronogramaExecucaoListController&#39;, [&#39;$scope&#39;, &#39;$translate&#39;, &#39;
61 62 $scope.url = '/cit-contratos-web/rest/cronogramaExecucao/gerarCronograma?idCronograma='+ $scope.cronogramaExecucaoChecked.id;
62 63 $scope.visualizarRelatorio($scope.url, $translate.instant("CONTRATOS.LABEL.CRONOGRAMA_EXECUCAO"));
63 64 }
64   -
  65 +
65 66 };
66 67  
67 68 $scope.remover = function() {
... ...
cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/EncerramentoContratoListController.js
... ... @@ -16,6 +16,7 @@ citApp.controller(&#39;EncerramentoContratoListController&#39;, [&#39;$scope&#39;, &#39;Encerramento
16 16 value : 'contrato.numeroAnoContrato',
17 17 title : $translate.instant('LABEL.NUM_CONTRATO'),
18 18 filter : 'maskContrato',
  19 + typeMask: 'MASK_CONTRATO',
19 20 tamanho : 15,
20 21 align : 'text-center'
21 22 },{
... ... @@ -32,6 +33,7 @@ citApp.controller(&#39;EncerramentoContratoListController&#39;, [&#39;$scope&#39;, &#39;Encerramento
32 33 title : $translate.instant('LABEL.NUM_TERMO'),
33 34 tamanho : 8,
34 35 align : 'text-center',
  36 + typeMask: 'MASK_10_CODE_ANO',
35 37 mask : [new RegExp(/(\d{2})(\d{1,4})$/), '$1/$2']
36 38 }];
37 39  
... ...
cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/EstudoTecnicoListController.js
... ... @@ -16,6 +16,7 @@ citApp.controller(&#39;EstudoTecnicoListController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoReposi
16 16 value : 'registroSequencial.sequencialAno',
17 17 title : $translate.instant('LABEL.NUM_ESTUDO_TECNICO'),
18 18 align : 'text-center',
  19 + typeMask: 'MASK_10_CODE_ANO',
19 20 mask : [new RegExp(/(\d{3})(\d{1,4})$/), '$1/$2']
20 21 },{
21 22 value : 'descricaoSolucao',
... ...
cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/EventoPenalidadeController.js
... ... @@ -8,17 +8,24 @@ citApp.controller(&#39;EventoPenalidadeController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;$timeout&#39;
8 8  
9 9 $scope.resetForm = function (form){
10 10  
  11 + if(!$scope.contrato.termoReferencia){
  12 + $scope.showAlert('warning', $translate.instant('CONTRATOS.LABEL.CONTRATO_SEM_VINCULO_TERMO'));
  13 + }else{
  14 + $scope.listaPenalidades = $scope.contrato.termoReferencia.penalidades;
  15 + }
  16 +
11 17 if ($scope.edit) {
12 18 $scope.eventoPenalidade = {
13 19 contrato : $scope.contrato, cnpjFornecedor : $scope.contrato.fornecedor.pessoa.pessoaJuridica.cnpj,
14 20 ocorrencias : [], documentos : [], observacoes : []
15 21 };
16   - }
17   -
  22 + }
  23 +
18 24 if($scope.evento){
19 25 $scope.setLoadingGet(true);
20 26 EventoPenalidadeRepository.get($scope.evento.id).then(function(result){
21 27 $scope.eventoPenalidade = result.originalElement;
  28 + $scope.eventoPenalidade.dataPenalizacao = $filter('date')($scope.eventoPenalidade.dataPenalizacao, "dd/MM/yyyy");
22 29 $scope.setLoading(false);
23 30 });
24 31 }
... ... @@ -32,21 +39,32 @@ citApp.controller(&#39;EventoPenalidadeController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;$timeout&#39;
32 39 };
33 40  
34 41 $scope.resetForm();
35   -
  42 +
36 43 $scope.uploader = new FileUploader({
37 44 autoUpload: false,
38 45 queueLimit: 1,
39 46 url: '/cit-tabelas-corp-web/rest/anexo/uploadAnexo?idDocumento='
40 47 });
41 48  
42   - TermoReferenciaPenalidadeRepository.findAllByContrato($scope.contrato.id).then(function(result) {
43   - $scope.listaPenalidades = result;
44   - });
45   -
46 49 RegistroOcorrenciaRepository.findAllOcorrenciasPorContrato($scope.contrato.id).then(function(result) {
47   - $scope.listaOcorrencias = result;
48   - $scope.listaOcorrenciasFixa = result;
  50 + $timeout(function (){
  51 + $scope.listaOcorrenciasFixa = result;
  52 +
  53 + removerOcorrenciasExistentes();
  54 +
  55 + $scope.listaOcorrencias = angular.copy($scope.listaOcorrenciasFixa);
  56 + });
49 57 });
  58 +
  59 + function removerOcorrenciasExistentes() {
  60 + for(var i = $scope.eventoPenalidade.ocorrencias.length - 1; i >= 0; i--) {
  61 + for (var j = $scope.listaOcorrenciasFixa.length -1; j >= 0; j--) {
  62 + if ($scope.listaOcorrenciasFixa[j].id === $scope.eventoPenalidade.ocorrencias[i].registroOcorrencia.id) {
  63 + $scope.listaOcorrenciasFixa.splice(j, 1);
  64 + }
  65 + }
  66 + }
  67 + };
50 68  
51 69 $scope.addRegistroOcorrencia = function(){
52 70  
... ... @@ -55,11 +73,11 @@ citApp.controller(&#39;EventoPenalidadeController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;$timeout&#39;
55 73 var eventoPenalidadeRegistroOcorrencia = {
56 74 registroOcorrencia : $scope.eventoPenalidade.registroOcorrencia
57 75 };
58   -
  76 +
59 77 $scope.eventoPenalidade.ocorrencias.push(eventoPenalidadeRegistroOcorrencia);
60   -
  78 +
61 79 $scope.listaOcorrencias = $filter('idNotObject')($scope.listaOcorrencias, $scope.eventoPenalidade.registroOcorrencia);
62   -
  80 +
63 81 $scope.eventoPenalidade.registroOcorrencia = null;
64 82 } else {
65 83 $scope.showAlert('warning', $translate.instant('CONTRATOS.MSG.SELECIONE_PARA_ADICIONAR'));
... ... @@ -67,15 +85,15 @@ citApp.controller(&#39;EventoPenalidadeController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;$timeout&#39;
67 85 }
68 86  
69 87 };
70   -
  88 +
71 89 $scope.removerRegistroOcorrencia = function() {
72 90 var listaSelecionados = [];
73 91 angular.forEach($scope.eventoPenalidade.ocorrencias, function (item) {
74 92 if(item.$checked){
75 93 listaSelecionados.push(item);
76 94 }
77   - });
78   -
  95 + });
  96 +
79 97 if(listaSelecionados.length > 0){
80 98 $scope.$openModalConfirm({
81 99 message: $translate.instant('MSG.DESEJA_EXCLUIR_ITENS'),
... ... @@ -85,7 +103,7 @@ citApp.controller(&#39;EventoPenalidadeController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;$timeout&#39;
85 103 $scope.eventoPenalidade.ocorrencias.splice(i, 1);
86 104 }
87 105 }
88   -
  106 +
89 107 atualizarListaOcorrencias();
90 108  
91 109 $scope.$modalConfirmInstance.dismiss('cancel');
... ... @@ -100,7 +118,7 @@ citApp.controller(&#39;EventoPenalidadeController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;$timeout&#39;
100 118 function atualizarListaOcorrencias() {
101 119  
102 120 $scope.listaOcorrencias = [];
103   -
  121 +
104 122 $scope.listaOcorrencias = $scope.listaOcorrenciasFixa;
105 123  
106 124 angular.forEach($scope.eventoPenalidade.ocorrencias, function (itemOcor){
... ...
cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/EventoRecebimentoObjetoController.js
... ... @@ -25,6 +25,9 @@ citApp.controller(&#39;EventoRecebimentoObjetoController&#39;, [&#39;$scope&#39;,
25 25 $scope.setLoadingGet(true);
26 26 EventoRecebimentoObjetoRepository.get(idRecebimentoObjeto).then(function(result) {
27 27 $scope.recebimentoObjeto = result.originalElement;
  28 + if($scope.contratoTemp == undefined){
  29 + $scope.contratoTemp= angular.copy($scope.recebimentoObjeto.contrato);
  30 + }
28 31 $scope.setLoading(false);
29 32 });
30 33 };
... ...
cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/EventoRegistroNaoConformidadeController.js
1 1 'use strict';
2 2  
3 3 citApp.controller('EventoRegistroNaoConformidadeController', ['$scope', '$timeout', '$translate', 'EventoRegistroNaoConformidadeRepository',
4   - 'ContratoRepository', 'DominioRepository', 'FileUploader','TermoReferenciaSancaoRepository',
  4 + 'ContratoRepository', 'DominioRepository', 'FileUploader','TermoReferenciaSancaoRepository','$filter',
5 5 function EventoRegistroNaoConformidadeController($scope, $timeout, $translate, EventoRegistroNaoConformidadeRepository,
6   - ContratoRepository, DominioRepository,FileUploader, TermoReferenciaSancaoRepository) {
  6 + ContratoRepository, DominioRepository,FileUploader, TermoReferenciaSancaoRepository, $filter) {
7 7  
8 8  
9 9 $scope.uploader = new FileUploader({
... ... @@ -13,13 +13,28 @@ citApp.controller(&#39;EventoRegistroNaoConformidadeController&#39;, [&#39;$scope&#39;, &#39;$timeou
13 13 });
14 14  
15 15 $scope.resetForm = function(form) {
  16 +
  17 + if(!$scope.contrato.termoReferencia){
  18 + $scope.showAlert('warning', $translate.instant('CONTRATOS.LABEL.CONTRATO_SEM_VINCULO_TERMO'));
  19 + }else{
  20 + $scope.tiposNaoConformidade = $scope.contrato.termoReferencia.sancoes;
  21 + }
  22 +
16 23 if($scope.contrato == undefined){
17 24 $scope.contrato= angular.copy($scope.contrato);
18 25 }
19   - if(!$scope.edit){
20   - $scope.getNaoConformidade();
21   - }else{
22   - buscaSancoesContrato();
  26 +
  27 + if($scope.evento){
  28 + $scope.setLoadingGet(true);
  29 + EventoRegistroNaoConformidadeRepository.get($scope.evento.id).then(function(result){
  30 + $scope.registroNaoConformidade = result.originalElement;
  31 + $scope.registroNaoConformidade.contrato = $scope.contrato;
  32 + $scope.registroNaoConformidade.dataNaoConformidade = $filter('date')($scope.registroNaoConformidade.dataNaoConformidade, "dd/MM/yyyy");
  33 + $scope.setLoading(false);
  34 + });
  35 + }
  36 +
  37 + if($scope.edit && !$scope.evento){
23 38 $scope.registroNaoConformidade = {};
24 39 $scope.registroNaoConformidade = {contrato: $scope.contrato};
25 40 }
... ... @@ -31,23 +46,11 @@ citApp.controller(&#39;EventoRegistroNaoConformidadeController&#39;, [&#39;$scope&#39;, &#39;$timeou
31 46 }
32 47 };
33 48  
34   - $scope.getNaoConformidade = function(){
35   - var idRegistroNaoConformidade = $scope.evento.id;
36   - $scope.setLoadingGet(true);
37   - TermoReferenciaSancaoRepository.listarSancoesPorContrato($scope.contrato.id).then(function(result) {
38   - $scope.tiposNaoConformidade = result;
39   - EventoRegistroNaoConformidadeRepository.get(idRegistroNaoConformidade).then(function(result) {
40   - $scope.registroNaoConformidade = result.originalElement;
41   - $scope.setLoading(false);
42   - });
43   - });
44   - };
45   -
46 49 $scope.salvarEvento = function(form){
47 50 form.$submitted = true;
48 51 if(form.$valid){
49 52  
50   - if(!isDataDentroPeriodo($scope.registroNaoConformidade.contrato.dataVigenciaInicial,
  53 + if(!$scope.evento && !isDataDentroPeriodo($scope.registroNaoConformidade.contrato.dataVigenciaInicial,
51 54 $scope.registroNaoConformidade.contrato.dataUltimaVigenciaFinal, $scope.registroNaoConformidade.dataNaoConformidade)){
52 55 $scope.showAlert('warning', $translate.instant('CONTRATOS.MSG.DATA_NAO_CONFORMIDADE_INVALIDA'));
53 56 return;
... ... @@ -149,12 +152,6 @@ citApp.controller(&#39;EventoRegistroNaoConformidadeController&#39;, [&#39;$scope&#39;, &#39;$timeou
149 152 }
150 153 };
151 154  
152   - function buscaSancoesContrato(){
153   - TermoReferenciaSancaoRepository.listarSancoesPorContrato($scope.contrato.id).then(function(result) {
154   - $scope.tiposNaoConformidade = result;
155   - });
156   - }
157   -
158 155 $scope.calcularValorMulta = function(){
159 156 $scope.registroNaoConformidade.valorMulta = parseFloat(($scope.contrato.valorContrato * $scope.registroNaoConformidade.percentualMulta).toFixed(2));
160 157 };
... ...
cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/NotificacaoContratoListController.js
... ... @@ -16,6 +16,7 @@ citApp.controller(&#39;NotificacaoContratoListController&#39;, [&#39;$scope&#39;, &#39;$translate&#39;,
16 16 value : 'codigo',
17 17 title : $translate.instant('NOTIFICACAO_CONTRATO.NUMERO_NOTIFICACAO_ABREV'),
18 18 tamanho : 20,
  19 + typeMask: 'MASK_10_CODE_ANO',
19 20 mask : [new RegExp(/(\d{2})(\d{1,4})$/), '$1/$2']
20 21 },{
21 22 value : 'dominioTipoSancao.descricao',
... ... @@ -25,6 +26,7 @@ citApp.controller(&#39;NotificacaoContratoListController&#39;, [&#39;$scope&#39;, &#39;$translate&#39;,
25 26 value : 'contrato.numeroAnoContrato',
26 27 title : $translate.instant('NOTIFICACAO_CONTRATO.NUMERO_CONTRATO_ABREV'),
27 28 tamanho : 15,
  29 + typeMask: 'MASK_CONTRATO',
28 30 mask : [new RegExp(/(\d{3})(\d{1,4})$/), '$1/$2']
29 31 }];
30 32  
... ...
cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/OrdemFornecimentoListController.js
... ... @@ -12,10 +12,10 @@ 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', mask : [new RegExp(/(\d{3})(\d{1,4})$/), '$1/$2'] },
  15 + { title : $translate.instant('LABEL.NUM_ORDEM_FORNECIMENTO'), value : 'numOrdemFornecimento', typeMask: 'MASK_10_CODE_ANO', 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   - { title : $translate.instant('LABEL.NUMERO_ANO_CONTRATO'), value : 'contrato.numeroAnoContrato', filter : 'maskContrato' }];
  18 + { title : $translate.instant('LABEL.NUMERO_ANO_CONTRATO'), value : 'contrato.numeroAnoContrato', typeMask: 'MASK_CONTRATO', filter : 'maskContrato' }];
19 19  
20 20 // default criteria that will be sent to the server
21 21 $scope.filterCriteria = {
... ...
cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/RegistroOcorrenciaListController.js
... ... @@ -31,6 +31,7 @@ citApp.controller(&#39;RegistroOcorrenciaListController&#39;, [&#39;$scope&#39;,
31 31 value : 'registroSequencial.sequencialAno',
32 32 title : $translate.instant('LABEL.NUMERO_OCORRENCIA'),
33 33 tamanho : 10,
  34 + typeMask: 'MASK_10_CODE_ANO',
34 35 mask : [new RegExp(/(\d{1})(\d{1,4})$/), '$1/$2']
35 36 }, {
36 37 value : 'tituloOcorrencia',
... ... @@ -40,6 +41,7 @@ citApp.controller(&#39;RegistroOcorrenciaListController&#39;, [&#39;$scope&#39;,
40 41 value : 'contrato.numeroAnoContrato',
41 42 title : $translate.instant('LABEL.NUMERO_ANO_CONTRATO'),
42 43 tamanho : 10,
  44 + typeMask: 'MASK_CONTRATO',
43 45 mask : [new RegExp(/(\d{3})(\d{1,4})$/), '$1/$2']
44 46 }
45 47 ];
... ...
cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/TermoReferenciaListController.js
... ... @@ -17,6 +17,7 @@ citApp.controller(&#39;TermoReferenciaListController&#39;, [&#39;$scope&#39;, &#39;TermoReferenciaRe
17 17 value : 'codigo',
18 18 title : $translate.instant('LABEL.CODIGO'),
19 19 tamanho : 30,
  20 + typeMask: 'MASK_10_CODE_ANO',
20 21 mask : [new RegExp(/(\d{3})(\d{1,4})$/), '$1/$2']
21 22 },{
22 23 value : 'objetoContratacao',
... ...
cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/VisaoContratoController.js
... ... @@ -14,6 +14,7 @@ citApp.controller(&#39;VisaoContratoController&#39;, [&#39;$scope&#39;,
14 14 'EventoRecebimentoObjetoRepository',
15 15 'EventoRescisaoContratoRepository',
16 16 'EventoRepactuacaoRepository',
  17 + 'EventoLiberacaoPagamentoEmpenhoRepository',
17 18 function VisaoContratoController($scope,
18 19 $filter,
19 20 $timeout,
... ... @@ -27,7 +28,8 @@ citApp.controller(&#39;VisaoContratoController&#39;, [&#39;$scope&#39;,
27 28 EventoRegistroNaoConformidadeRepository,
28 29 EventoRecebimentoObjetoRepository,
29 30 EventoRescisaoContratoRepository,
30   - EventoRepactuacaoRepository) {
  31 + EventoRepactuacaoRepository,
  32 + EventoLiberacaoPagamentoEmpenhoRepository) {
31 33  
32 34 $scope._START_ITEMS = 0;
33 35 $scope._LIMIT_ITEMS = 15;
... ... @@ -112,17 +114,15 @@ citApp.controller(&#39;VisaoContratoController&#39;, [&#39;$scope&#39;,
112 114 $scope.$openModalController('modal-cnt_ev_registro_nc.html', 'lg', 'EventoRegistroNaoConformidadeController');
113 115 break;
114 116 case 'RECEBIMENTO_OBJETO':
  117 + $scope.setLoadingGet(true);
115 118 if ($scope.evento) {
116 119 var recebimentoObjetoid = $scope.evento.id;
117   - $scope.setLoadingGet(true);
118 120 EventoRecebimentoObjetoRepository.get(recebimentoObjetoid).then(function(result) {
119 121 $scope.recebimentoObjeto = result.originalElement;
120 122 });
121   - $scope.$openModalController('modal-cnt_ev_recebimentoobjeto.html', 'lg', 'EventoRecebimentoObjetoController');
122   - $scope.setLoadingGet(false);
123   - } else {
124   - $scope.$openModalController('modal-cnt_ev_recebimentoobjeto.html', 'lg', 'EventoRecebimentoObjetoController');
125 123 }
  124 + $scope.$openModalController('modal-cnt_ev_recebimentoobjeto.html', 'lg', 'EventoRecebimentoObjetoController');
  125 + $scope.setLoadingGet(false);
126 126 break;
127 127 case 'REPACTUACAO':
128 128 if ($scope.evento) {
... ... @@ -436,7 +436,7 @@ citApp.controller(&#39;VisaoContratoController&#39;, [&#39;$scope&#39;,
436 436 break;
437 437 case 'PENALIDADE':
438 438 $scope.visualizarEvento = true;
439   - $scope.editEvento = false;
  439 + $scope.editEvento = true;
440 440 $scope.removeEvento = false;
441 441 break;
442 442 case 'APOSTILAMENTO':
... ... @@ -456,12 +456,15 @@ citApp.controller(&#39;VisaoContratoController&#39;, [&#39;$scope&#39;,
456 456 break;
457 457 case 'EMPENHO':
458 458 $scope.visualizarEvento = true;
459   - $scope.editEvento = false;
460   - $scope.removeEvento = false;
  459 + $scope.editEvento = true;
  460 +
  461 + EventoLiberacaoPagamentoEmpenhoRepository.existeVinculoEmpenhoComLiberacaoPagamento($scope.evento.id).then(function(result) {
  462 + $scope.removeEvento = !result;
  463 + });
461 464 break;
462 465 case 'NAO_CONFORMIDADE':
463 466 $scope.visualizarEvento = true;
464   - $scope.editEvento = false;
  467 + $scope.editEvento = true;
465 468 $scope.removeEvento = false;
466 469 break;
467 470 case 'RECEBIMENTO_OBJETO':
... ... @@ -471,8 +474,8 @@ citApp.controller(&#39;VisaoContratoController&#39;, [&#39;$scope&#39;,
471 474 break;
472 475 case 'REPACTUACAO':
473 476 $scope.visualizarEvento = true;
474   - $scope.editEvento = false;
475   - $scope.removeEvento = false;
  477 + $scope.editEvento = true;
  478 + $scope.removeEvento = true;
476 479 break;
477 480 case 'RESCISAO':
478 481 $scope.visualizarEvento = true;
... ...
cit-contratos-web/src/main/webapp/assets/js/angular/custom/repository/EventoLiberacaoPagamentoEmpenhoRepository.js 0 → 100644
... ... @@ -0,0 +1,16 @@
  1 +'use strict';
  2 +
  3 +citApp.factory('EventoLiberacaoPagamentoEmpenhoRepository', ['RestangularContratos', 'AbstractRepository', function (restangularContratos, AbstractRepository) {
  4 +
  5 + function EventoLiberacaoPagamentoEmpenhoRepository() {
  6 + AbstractRepository.call(this, restangularContratos, 'rest/eventoLiberacaoPagamentoEmpenho');
  7 +
  8 + this.existeVinculoEmpenhoComLiberacaoPagamento = function(idEmpenho) {
  9 + return restangularContratos.one(this.route + "/existeVinculoEmpenhoComLiberacaoPagamento").get({"idEmpenho": idEmpenho}).then();
  10 + };
  11 + }
  12 +
  13 + AbstractRepository.extend(EventoLiberacaoPagamentoEmpenhoRepository);
  14 +
  15 + return new EventoLiberacaoPagamentoEmpenhoRepository();
  16 +}]);
... ...
cit-contratos-web/src/main/webapp/assets/js/angular/custom/repository/TermoReferenciaRepository.js
... ... @@ -3,11 +3,14 @@
3 3 citApp.factory('TermoReferenciaRepository', ['RestangularContratos', 'AbstractRepository', function (restangularContratos, AbstractRepository) {
4 4  
5 5 function TermoReferenciaRepository() {
6   - AbstractRepository.call(this, restangularContratos, 'rest/termoReferencia');
7   -
  6 + AbstractRepository.call(this, restangularContratos, 'rest/termoReferencia');
  7 +
  8 + this.findAutoCompleteTermoReferencia = function(value, idOrganizacao) {
  9 + return restangularContratos.one('rest/termoReferencia').getList("findAutoCompleteTermoReferencia", {"value" : value, "idOrganizacao" : idOrganizacao}).then();
  10 + };
8 11 }
9   -
  12 +
10 13 AbstractRepository.extend(TermoReferenciaRepository);
11   -
  14 +
12 15 return new TermoReferenciaRepository();
13 16 }]);
14 17 \ No newline at end of file
... ...
cit-contratos-web/src/main/webapp/html/contrato/contratoList.html
... ... @@ -18,6 +18,10 @@
18 18 <translate>LABEL.EDITAR</translate>
19 19 </button>
20 20  
  21 + <button class="btn btn-clear" ng-click="exportarCSV(filterCriteria, headers, 'ContratoRepository', 'LABEL.CONTRATO')" type="button">
  22 + <i class="fa fa-file-excel-o"></i> <translate>LABEL.EXPORTAR_CSV</translate>
  23 + </button>
  24 +
21 25 <!-- <button class="btn btn-clear" ng-click="remove();">
22 26 <i class="fa fa-times red"></i>
23 27 <translate>LABEL.REMOVER</translate>
... ...
cit-contratos-web/src/main/webapp/html/contrato/contratoPg1.html
... ... @@ -17,7 +17,14 @@
17 17 ng-obrigatorio="false" ng-disabled="!edit || contrato.id" form="informacoesGeraisContratoForm" ng-list="programaTemp.acoes"
18 18 ng-custom-options="acao as acao.nome for acao" track-by="track by acao.id"/>
19 19 </div><!-- .col-sm-3 -->
  20 + <div class="col-sm-3">
  21 + <auto-complete ng-label="CONTRATOS.LABEL.TERMO_REFERENCIA_PROJETO_BASICO" ng-id="contrato.termoReferencia" ng-model="contrato.termoReferencia"
  22 + form="informacoesGeraisContratoForm" ng-obrigatorio="true" ng-disabled="!edit"
  23 + ng-find="findAutoCompleteTermoReferencia(value)" ng-item="item.codigo" >
  24 + </div><!-- .col-sm-3 -->
20 25  
  26 + </div><!-- .row -->
  27 + <div class="row">
21 28 <div class="col-sm-3">
22 29 <label-input-number ng-id="contrato.numeroProcesso" ng-label="LABEL.NUMERO_PROCESSO" ng-model="contrato.numeroProcesso"
23 30 form="informacoesGeraisContratoForm" ng-obrigatorio="edit" ng-disabled="!edit || contrato.id" ng-custom-maxlength="10" />
... ... @@ -27,7 +34,7 @@
27 34 <label-input-data ng-id="contrato.exercicio" ng-label="LABEL.EXERCICIO" ng-model="contrato.exercicio"
28 35 form="informacoesGeraisContratoForm" ng-obrigatorio="edit" ng-disabled="!edit || contrato.id" ng-mode="year" ng-format="yyyy" />
29 36 </div>
30   - </div><!-- .row -->
  37 + </div>
31 38 </fieldset><!-- .fieldset -->
32 39 </div><!-- /.page-content -->
33 40 </ng-form>
34 41 \ No newline at end of file
... ...
cit-contratos-web/src/main/webapp/html/cronogramaExecucao/cronogramaExecucaoList.html
... ... @@ -28,6 +28,10 @@
28 28 <i class="fa fa-print"></i>
29 29 <translate>CONTRATOS.LABEL.GERAR_CRONOGRAMA</translate>
30 30 </button>
  31 +
  32 + <button class="btn btn-clear" ng-click="exportarCSV(filterCriteria, headers, 'CronogramaExecucaoRepository', 'CONTRATOS.LABEL.CRONOGRAMA_EXECUCAO')" type="button">
  33 + <i class="fa fa-file-excel-o"></i> <translate>LABEL.EXPORTAR_CSV</translate>
  34 + </button>
31 35  
32 36 <span class="divider-vertical"></span>
33 37  
... ...
cit-contratos-web/src/main/webapp/html/encerramentoContrato/encerramentoContratoList.html
... ... @@ -26,6 +26,10 @@
26 26 <i class="fa fa-print"></i>
27 27 <translate>LABEL.GERAR_ENCERRAMENTO_CONTRATO</translate>
28 28 </button>
  29 +
  30 + <button class="btn btn-clear" ng-click="exportarCSV(filterCriteria, headers, 'EncerramentoContratoRepository', 'CONTRATOS.LABEL.ENCERRAMENTO_CONTRATO')" type="button">
  31 + <i class="fa fa-file-excel-o"></i> <translate>LABEL.EXPORTAR_CSV</translate>
  32 + </button>
29 33  
30 34 <span class="divider-vertical"></span>
31 35  
... ...
cit-contratos-web/src/main/webapp/html/estudoTecnico/estudoTecnicoList.html
... ... @@ -23,6 +23,10 @@
23 23 <translate>LABEL.REMOVER</translate>
24 24 </button>
25 25  
  26 + <button class="btn btn-clear" ng-click="exportarCSV(filterCriteria, headers, 'EstudoTecnicoRepository', 'LABEL.ESTUDO_TECNICO')" type="button">
  27 + <i class="fa fa-file-excel-o"></i> <translate>LABEL.EXPORTAR_CSV</translate>
  28 + </button>
  29 +
26 30 <button
27 31 title="{{$translate.instant('CONTRATOS.LABEL.GERAR_ESTUDO_TECNICO')}}"
28 32 alt="{{$translate.instant('CONTRATOS.LABEL.GERAR_ESTUDO_TECNICO')}}"
... ...
cit-contratos-web/src/main/webapp/html/eventos/cnt_ev_aplicar_penalidade.html
... ... @@ -53,7 +53,7 @@
53 53 <div class="col-sm-8" ng-if="edit">
54 54 <label-select ng-id="eventoPenalidade.termoReferenciaPenalidade" ng-label="LABEL.PENALIDADE" ng-model="eventoPenalidade.termoReferenciaPenalidade"
55 55 form="cnt_ev_penalidadeForm" ng-obrigatorio="true" ng-disabled="!edit" ng-list="listaPenalidades"
56   - ng-custom-options="termoReferenciaPenalidade.originalElement as termoReferenciaPenalidade.penalidade for termoReferenciaPenalidade" track-by="track by termoReferenciaPenalidade.id">
  56 + ng-custom-options="termoReferenciaPenalidade as termoReferenciaPenalidade.penalidade for termoReferenciaPenalidade" track-by="track by termoReferenciaPenalidade.id">
57 57 </label-select>
58 58 </div><!-- .col -->
59 59 <div class="col-sm-8" ng-if="!edit">
... ...
cit-contratos-web/src/main/webapp/html/eventos/cnt_ev_empenho.html
... ... @@ -63,13 +63,13 @@
63 63 <div class="col-sm-4">
64 64 <div class="control-group" ng-class="{'has-error': numeroEmpenhoObrigatorio}">
65 65 <label for='contratoEmpenho.numeroEmpenho' class='control-label'><translate>LABEL.NUMERO_EMPENHO</translate>
66   - <span class='red' ng-if='edit'>*</span>
67   - <i ng-if='edit' ng-show='numeroEmpenhoObrigatorio' class='fa fa-warning red' tooltip-placement='top'></i>
  66 + <span class='red' ng-if='edit && !evento.id'>*</span>
  67 + <i ng-if='edit && !evento.id' ng-show='numeroEmpenhoObrigatorio' class='fa fa-warning red' tooltip-placement='top'></i>
68 68 </label>
69 69 <input type='text' class='form-control'
70 70 id='contratoEmpenho.numeroEmpenho' maxlength='30' name='contratoEmpenho.numeroEmpenho'
71 71 ng-model='contratoEmpenho.numeroEmpenho' ui-mask='9999AA999999'
72   - ng-disabled='!edit' ng-required='edit'/>
  72 + ng-disabled='!edit || evento.id' ng-required='edit && !evento.id'/>
73 73 </div>
74 74 </div>
75 75 <div class="col-sm-4">
... ... @@ -79,7 +79,7 @@
79 79 <div class="col-sm-4">
80 80 <label-select ng-label="LABEL.FINALIDADE_EMPENHO" ng-id="contratoEmpenho.dominioFinalidadeEmpenho"
81 81 ng-model="contratoEmpenho.dominioFinalidadeEmpenho" ng-list="dominioFinalidadeEmpenhoList"
82   - form="cnt_ev_registrar_empenhoForm" ng-obrigatorio="edit" ng-disabled="!edit" track-by="track by dominioFinalidadeEmpenho.id"
  82 + form="cnt_ev_registrar_empenhoForm" ng-obrigatorio="edit && !evento.id" ng-disabled="!edit || evento.id" track-by="track by dominioFinalidadeEmpenho.id"
83 83 ng-custom-options="dominioFinalidadeEmpenho.originalElement as dominioFinalidadeEmpenho.descricao for dominioFinalidadeEmpenho"/>
84 84 </div><!-- .col -->
85 85 </div>
... ... @@ -99,7 +99,7 @@
99 99 </div><!-- .col -->
100 100 <div class="col-sm-4">
101 101 <label-input-money ng-id="contratoEmpenho.valorEmpenhado" ng-label="LABEL.VALOR_EMPENHADO"
102   - ng-model="contratoEmpenho.valorEmpenhado" form="cnt_ev_registrar_empenhoForm" ng-obrigatorio="edit" ng-disabled="!edit"/>
  102 + ng-model="contratoEmpenho.valorEmpenhado" form="cnt_ev_registrar_empenhoForm" ng-obrigatorio="edit && !evento.id" ng-disabled="!edit || evento.id"/>
103 103 </div><!-- .col -->
104 104 </div><!-- .row -->
105 105 <div class="row">
... ...
cit-contratos-web/src/main/webapp/html/eventos/cnt_ev_recebimentoobjeto.html
... ... @@ -94,7 +94,7 @@
94 94 ng-model="recebimentoObjeto.tipoRecebimento"
95 95 form="formDialogRecebimentoObjeto"
96 96 ng-obrigatorio="true"
97   - ng-disabled="!edit || recebimentoObjeto.id"
  97 + ng-disabled="!edit"
98 98 ng-list="dominiosRecebimentoObjeto.tiposRecebimentos"
99 99 ng-custom-options="tiposRecebimentos as tiposRecebimentos.descricao for tiposRecebimentos"
100 100 track-by="track by tiposRecebimentos.id"/>
... ... @@ -128,7 +128,7 @@
128 128 ng-model="recebimentoObjeto.tipoAvaliacaoPrazo"
129 129 form="formDialogRecebimentoObjeto"
130 130 ng-obrigatorio="edit"
131   - ng-disabled="!edit || recebimentoObjeto.id"
  131 + ng-disabled="!edit"
132 132 ng-list="dominiosRecebimentoObjeto.tiposAvaliacaoPrazo"
133 133 ng-custom-options="tipoAvaliacaoPrazo as tipoAvaliacaoPrazo.descricao for tipoAvaliacaoPrazo"
134 134 track-by="track by tipoAvaliacaoPrazo.id"/>
... ... @@ -142,7 +142,7 @@
142 142 ng-model="recebimentoObjeto.tipoAvaliacaoAdesao"
143 143 form="formDialogRecebimentoObjeto"
144 144 ng-obrigatorio="edit"
145   - ng-disabled="!edit || recebimentoObjeto.id"
  145 + ng-disabled="!edit"
146 146 ng-list="dominiosRecebimentoObjeto.tiposAvaliacaoAdesao"
147 147 ng-custom-options="tipoAvaliacaoAtendimento as tipoAvaliacaoAtendimento.descricao for tipoAvaliacaoAtendimento"
148 148 track-by="track by tipoAvaliacaoAtendimento.id"/>
... ... @@ -157,7 +157,7 @@
157 157 ng-model="recebimentoObjeto.tipoStatus"
158 158 form="formDialogRecebimentoObjeto"
159 159 ng-obrigatorio="true"
160   - ng-disabled="!edit || recebimentoObjeto.id"
  160 + ng-disabled="!edit"
161 161 ng-list="dominiosRecebimentoObjeto.tiposStatus"
162 162 ng-custom-options="tipoStatus as tipoStatus.descricao for tipoStatus"
163 163 track-by="track by tipoStatus.id"/>
... ...
cit-contratos-web/src/main/webapp/html/eventos/cnt_ev_registro_nc.html
... ... @@ -60,13 +60,13 @@
60 60 <label-input-data ng-id="registroNaoConformidade.dataNaoConformidade"
61 61 ng-label="CONTRATOS.REGISTRO_NAO_CONFORMIDADE.DATA"
62 62 ng-model="registroNaoConformidade.dataNaoConformidade"
63   - form="formDialogNaoConformidade" ng-disabled="!edit" ng-obrigatorio="true"
  63 + form="formDialogNaoConformidade" ng-disabled="!edit || registroNaoConformidade.id" ng-obrigatorio="true"
64 64 ng-format="dd/MM/yyyy"> </label-input-data>
65 65 </div>
66 66 <div class="col-sm-3">
67 67 <label-select ng-label="CONTRATOS.REGISTRO_NAO_CONFORMIDADE.APLICAVEL" ng-id="registroNaoConformidade.tipoNaoConformidade"
68   - ng-model="registroNaoConformidade.tipoNaoConformidade" form="formDialogNaoConformidade" ng-obrigatorio="true" ng-disabled="!edit"
69   - ng-custom-options="tipoNaoConformidade.originalElement as tipoNaoConformidade.sancao for tipoNaoConformidade"
  68 + ng-model="registroNaoConformidade.tipoNaoConformidade" form="formDialogNaoConformidade" ng-obrigatorio="true" ng-disabled="!edit || registroNaoConformidade.id"
  69 + ng-custom-options="tipoNaoConformidade as tipoNaoConformidade.sancao for tipoNaoConformidade"
70 70 ng-list="tiposNaoConformidade" track-by="track by tipoNaoConformidade.id"/>
71 71 </div>
72 72 <div class="col-sm-3">
... ...
cit-contratos-web/src/main/webapp/html/notificacao/notificacaoContratoList.html
... ... @@ -31,6 +31,10 @@
31 31 <i class="fa fa-print"></i>
32 32 <translate>NOTIFICACAO_CONTRATO.GERAR_NOTIFICACAO_RELATORIO</translate>
33 33 </button>
  34 +
  35 + <button class="btn btn-clear" ng-click="exportarCSV(filterCriteria, headers, 'NotificacaoContratoRepository', 'LABEL.NOTIFICACOES')" type="button">
  36 + <i class="fa fa-file-excel-o"></i> <translate>LABEL.EXPORTAR_CSV</translate>
  37 + </button>
34 38  
35 39 <span class="divider-vertical"></span>
36 40  
... ...
cit-contratos-web/src/main/webapp/html/ordemFornecimento/ordemFornecimentoList.html
... ... @@ -26,6 +26,10 @@
26 26 <i class="fa fa-print"></i>
27 27 <translate>LABEL.GERAR_ORDEM_FORNECIMENTO</translate>
28 28 </button>
  29 +
  30 + <button class="btn btn-clear" ng-click="exportarCSV(filterCriteria, headers, 'OrdemFornecimentoRepository', 'LABEL.TITULO_ORDEM_FORNECIMENTO')" type="button">
  31 + <i class="fa fa-file-excel-o"></i> <translate>LABEL.EXPORTAR_CSV</translate>
  32 + </button>
29 33  
30 34 <span class="divider-vertical"></span>
31 35  
... ...
cit-contratos-web/src/main/webapp/html/programa/programaList.html
... ... @@ -22,6 +22,10 @@
22 22 <i class="fa fa-times red"></i>
23 23 <translate>LABEL.REMOVER</translate>
24 24 </button>
  25 +
  26 + <button class="btn btn-clear" ng-click="exportarCSV(filterCriteria, headers, 'ProgramaRepository', 'LABEL.PROGRAMA')" type="button">
  27 + <i class="fa fa-file-excel-o"></i> <translate>LABEL.EXPORTAR_CSV</translate>
  28 + </button>
25 29  
26 30 <span class="divider-vertical"></span>
27 31  
... ...
cit-contratos-web/src/main/webapp/html/questionario/questionarioList.html
... ... @@ -23,6 +23,10 @@
23 23 <translate>LABEL.REMOVER</translate>
24 24 </button>
25 25  
  26 + <button class="btn btn-clear" ng-click="exportarCSV(filterCriteria, headers, 'QuestionarioRepository', 'LABEL.QUESTIONARIO')" type="button">
  27 + <i class="fa fa-file-excel-o"></i> <translate>LABEL.EXPORTAR_CSV</translate>
  28 + </button>
  29 +
26 30 <span class="divider-vertical"></span>
27 31  
28 32 <div class="btn-group dropdown" role="group" dropdown>
... ...
cit-contratos-web/src/main/webapp/html/registroOcorrencias/registroOcorrenciasList.html
... ... @@ -29,6 +29,10 @@
29 29 <translate>LABEL.GERAR_REGISTRO_OCORRENCIA</translate>
30 30 </button>
31 31  
  32 + <button class="btn btn-clear" ng-click="exportarCSV(filterCriteria, headers, 'RegistroOcorrenciaRepository', 'LABEL.TITULO_REGISTRO_OCORRENCIA')" type="button">
  33 + <i class="fa fa-file-excel-o"></i> <translate>LABEL.EXPORTAR_CSV</translate>
  34 + </button>
  35 +
32 36 <span class="divider-vertical"></span>
33 37  
34 38 <filtros ng-filter="filterCriteria" ng-workspace="workspace"></filtros>
... ...
cit-contratos-web/src/main/webapp/html/termoReferencia/termoReferenciaList.html
... ... @@ -26,6 +26,10 @@
26 26 <translate>LABEL.REMOVER</translate>
27 27 </button>
28 28  
  29 + <button class="btn btn-clear" ng-click="exportarCSV(filterCriteria, headers, 'TermoReferenciaRepository', 'CONTRATOS.LABEL.TERMO_REFERENCIA_PROJETO_BASICO')" type="button">
  30 + <i class="fa fa-file-excel-o"></i> <translate>LABEL.EXPORTAR_CSV</translate>
  31 + </button>
  32 +
29 33 <button
30 34 title="{{$translate.instant('LABEL.GERAR_TERMO_REFERENCIA')}}"
31 35 alt="{{$translate.instant('LABEL.GERAR_TERMO_REFERENCIA')}}"
... ...