Commit 6d0b17cd07049957812247f8e0109f7a60673588
Exists in
master
Merge remote-tracking branch 'origin/tarefa-4235' into cnt-1.0.0-alfa11
# Conflicts: # cit-contratos-api/src/main/java/br/com/centralit/api/model/Contrato.java # cit-contratos-api/src/main/resources/script-bd/v1.0.0-alpha11/01-cit-contratos-1.0.0-ALFA-11-postgres.sql
Showing
9 changed files
with
410 additions
and
396 deletions
Show diff stats
cit-contratos-api/src/main/java/br/com/centralit/api/model/Contrato.java
... | ... | @@ -66,8 +66,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize; |
66 | 66 | */ |
67 | 67 | @Entity |
68 | 68 | @Table(name = "cnt_contrato") |
69 | -@JsonIgnoreProperties({ "valorTotalItens", "cnpjFornecedor", | |
70 | - "valorTotalLiberado", "ultimaDataVigenciaFinal" }) | |
69 | +@JsonIgnoreProperties({ "valorTotalItens", "cnpjFornecedor", "valorTotalLiberado", "ultimaDataVigenciaFinal" }) | |
71 | 70 | public class Contrato extends PersistentObjectAuditOrganizacao { |
72 | 71 | |
73 | 72 | /** Atributo serialVersionUID. */ |
... | ... | @@ -87,13 +86,13 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
87 | 86 | /** Atributo numeroProcesso. */ |
88 | 87 | @Column(length = 30, nullable = false) |
89 | 88 | @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 }) | |
89 | + ViewsContrato.ContratoAutoCompleteView.class, | |
90 | + ViewsContrato.OrdemFornecimentoEditView.class, | |
91 | + ViewsContrato.EncerramentoContratoEditView.class, | |
92 | + ViewsContrato.ContratoEventoEditView.class, | |
93 | + ViewsContrato.EventoApostilamentoEditView.class, | |
94 | + ViewsContrato.EventoPenalidadeEditView.class, | |
95 | + ViewsContrato.EventoRecebimentoObjetoEditView.class }) | |
97 | 96 | private Long numeroProcesso; |
98 | 97 | |
99 | 98 | /** Atributo exercicio. */ |
... | ... | @@ -106,46 +105,46 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
106 | 105 | /** Atributo numeroAnoContrato. */ |
107 | 106 | @Column(length = 30, nullable = false) |
108 | 107 | @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 }) | |
108 | + ViewsContrato.ContratoAutoCompleteView.class, | |
109 | + ViewsContrato.CronogramaExecucaoEditView.class, | |
110 | + ViewsContrato.OrdemFornecimentoListView.class, | |
111 | + ViewsContrato.RegistroOcorrenciaEditView.class, | |
112 | + ViewsContrato.NotificacaoContratoEditView.class, | |
113 | + ViewsContrato.ContratoEventoEditView.class, | |
114 | + ViewsContrato.EventoApostilamentoEditView.class, | |
115 | + ViewsContrato.EventoPenalidadeEditView.class, | |
116 | + ViewsContrato.EventoRecebimentoObjetoEditView.class }) | |
118 | 117 | private String numeroAnoContrato; |
119 | 118 | |
120 | 119 | /** Atributo numeroAnoContrato. */ |
121 | 120 | @Transient |
122 | 121 | @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 }) | |
122 | + ViewsContrato.OrdemFornecimentoListView.class, | |
123 | + ViewsContrato.ContratoAutoCompleteView.class, | |
124 | + ViewsContrato.CronogramaExecucaoEditView.class, | |
125 | + ViewsContrato.RegistroOcorrenciaEditView.class, | |
126 | + ViewsContrato.NotificacaoContratoEditView.class, | |
127 | + ViewsContrato.EncerramentoContratoListView.class, | |
128 | + ViewsContrato.ContratoEventoEditView.class, | |
129 | + ViewsContrato.EventoApostilamentoEditView.class, | |
130 | + ViewsContrato.EventoPenalidadeEditView.class, | |
131 | + ViewsContrato.EventoRecebimentoObjetoEditView.class }) | |
133 | 132 | private String numeroAnoContratoFormatado; |
134 | 133 | |
135 | 134 | /** Atributo dominioTipoContrato. */ |
136 | 135 | @ManyToOne(fetch = FetchType.LAZY, optional = false) |
137 | 136 | @JsonView({ ViewsContrato.ContratoEditView.class, |
138 | - ViewsContrato.ContratoAutoCompleteView.class, | |
139 | - ViewsContrato.EncerramentoContratoEditView.class, | |
140 | - ViewsContrato.RegistroOcorrenciaEditView.class }) | |
137 | + ViewsContrato.ContratoAutoCompleteView.class, | |
138 | + ViewsContrato.EncerramentoContratoEditView.class, | |
139 | + ViewsContrato.RegistroOcorrenciaEditView.class }) | |
141 | 140 | private Dominio dominioTipoContrato; |
142 | 141 | |
143 | 142 | /** Atributo dominioTipoAquisicao. */ |
144 | 143 | @ManyToOne(fetch = FetchType.LAZY, optional = false) |
145 | 144 | @JsonView({ ViewsContrato.ContratoEditView.class, |
146 | - ViewsContrato.ContratoAutoCompleteView.class, | |
147 | - ViewsContrato.OrdemFornecimentoEditView.class, | |
148 | - ViewsContrato.EncerramentoContratoEditView.class }) | |
145 | + ViewsContrato.ContratoAutoCompleteView.class, | |
146 | + ViewsContrato.OrdemFornecimentoEditView.class, | |
147 | + ViewsContrato.EncerramentoContratoEditView.class }) | |
149 | 148 | private Dominio dominioTipoAquisicao; |
150 | 149 | |
151 | 150 | /** Atributo dataCelebracao. */ |
... | ... | @@ -154,8 +153,8 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
154 | 153 | @JsonSerialize(using = JsonCalendarSimpleDateSerializer.class) |
155 | 154 | @JsonDeserialize(using = JsonCalendarSimpleDateDeserializer.class) |
156 | 155 | @JsonView({ ViewsContrato.ContratoEditView.class, |
157 | - ViewsContrato.ContratoAutoCompleteView.class, | |
158 | - ViewsContrato.EncerramentoContratoEditView.class }) | |
156 | + ViewsContrato.ContratoAutoCompleteView.class, | |
157 | + ViewsContrato.EncerramentoContratoEditView.class }) | |
159 | 158 | private Calendar dataCelebracao; |
160 | 159 | |
161 | 160 | /** Atributo dataVigenciaInicial. */ |
... | ... | @@ -164,14 +163,14 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
164 | 163 | @JsonSerialize(using = JsonCalendarSimpleDateSerializer.class) |
165 | 164 | @JsonDeserialize(using = JsonCalendarSimpleDateDeserializer.class) |
166 | 165 | @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 }) | |
166 | + ViewsContrato.ContratoAutoCompleteView.class, | |
167 | + ViewsContrato.OrdemFornecimentoEditView.class, | |
168 | + ViewsContrato.CronogramaExecucaoEditView.class, | |
169 | + ViewsContrato.RegistroOcorrenciaEditView.class, | |
170 | + ViewsContrato.NotificacaoContratoEditView.class, | |
171 | + ViewsContrato.EncerramentoContratoEditView.class, | |
172 | + ViewsContrato.EventoApostilamentoEditView.class, | |
173 | + ViewsContrato.EventoRecebimentoObjetoEditView.class }) | |
175 | 174 | private Calendar dataVigenciaInicial; |
176 | 175 | |
177 | 176 | /** Atributo dataVigenciaFinal. */ |
... | ... | @@ -180,51 +179,51 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
180 | 179 | @JsonSerialize(using = JsonCalendarSimpleDateSerializer.class) |
181 | 180 | @JsonDeserialize(using = JsonCalendarSimpleDateDeserializer.class) |
182 | 181 | @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 }) | |
182 | + ViewsContrato.ContratoAutoCompleteView.class, | |
183 | + ViewsContrato.OrdemFornecimentoEditView.class, | |
184 | + ViewsContrato.CronogramaExecucaoEditView.class, | |
185 | + ViewsContrato.RegistroOcorrenciaEditView.class, | |
186 | + ViewsContrato.NotificacaoContratoEditView.class, | |
187 | + ViewsContrato.EncerramentoContratoEditView.class, | |
188 | + ViewsContrato.EventoApostilamentoEditView.class, | |
189 | + ViewsContrato.EventoRecebimentoObjetoEditView.class }) | |
191 | 190 | private Calendar dataVigenciaFinal; |
192 | 191 | |
193 | 192 | @Transient |
194 | 193 | @JsonSerialize(using = JsonCalendarSimpleDateSerializer.class) |
195 | 194 | @JsonDeserialize(using = JsonCalendarSimpleDateDeserializer.class) |
196 | 195 | @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 }) | |
196 | + ViewsContrato.ContratoAutoCompleteView.class, | |
197 | + ViewsContrato.OrdemFornecimentoEditView.class, | |
198 | + ViewsContrato.CronogramaExecucaoEditView.class, | |
199 | + ViewsContrato.RegistroOcorrenciaEditView.class, | |
200 | + ViewsContrato.NotificacaoContratoEditView.class, | |
201 | + ViewsContrato.EncerramentoContratoEditView.class, | |
202 | + ViewsContrato.EventoApostilamentoEditView.class, | |
203 | + ViewsContrato.EventoRecebimentoObjetoEditView.class }) | |
205 | 204 | private Calendar dataUltimaVigenciaFinal; |
206 | 205 | |
207 | 206 | /** Atributo dominioSituacaoAtual. */ |
208 | 207 | @ManyToOne(fetch = FetchType.LAZY, optional = false) |
209 | 208 | @JsonView({ ViewsContrato.ContratoEditView.class, |
210 | - ViewsContrato.ContratoAutoCompleteView.class, | |
211 | - ViewsContrato.OrdemFornecimentoEditView.class, | |
212 | - ViewsContrato.RegistroOcorrenciaEditView.class, | |
213 | - ViewsContrato.ContratoEventoEditView.class, | |
214 | - ViewsContrato.EventoApostilamentoEditView.class }) | |
209 | + ViewsContrato.ContratoAutoCompleteView.class, | |
210 | + ViewsContrato.OrdemFornecimentoEditView.class, | |
211 | + ViewsContrato.RegistroOcorrenciaEditView.class, | |
212 | + ViewsContrato.ContratoEventoEditView.class, | |
213 | + ViewsContrato.EventoApostilamentoEditView.class }) | |
215 | 214 | private Dominio dominioSituacaoAtual; |
216 | 215 | |
217 | 216 | /** Atributo fornecedor. */ |
218 | 217 | @ManyToOne(fetch = FetchType.LAZY, optional = false) |
219 | 218 | @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 }) | |
219 | + ViewsContrato.ContratoAutoCompleteView.class, | |
220 | + ViewsContrato.OrdemFornecimentoEditView.class, | |
221 | + ViewsContrato.CronogramaExecucaoEditView.class, | |
222 | + ViewsContrato.RegistroOcorrenciaEditView.class, | |
223 | + ViewsContrato.NotificacaoContratoEditView.class, | |
224 | + ViewsContrato.EncerramentoContratoListView.class, | |
225 | + ViewsContrato.EventoApostilamentoEditView.class, | |
226 | + ViewsContrato.EventoPenalidadeEditView.class }) | |
228 | 227 | private Fornecedor fornecedor; |
229 | 228 | |
230 | 229 | /** Atributo disponivel. */ |
... | ... | @@ -233,10 +232,10 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
233 | 232 | |
234 | 233 | /** Atributo objetoContratacao. */ |
235 | 234 | @JsonView({ ViewsContrato.ContratoEditView.class, |
236 | - ViewsContrato.ContratoAutoCompleteView.class, | |
237 | - ViewsContrato.EncerramentoContratoEditView.class, | |
238 | - ViewsContrato.EventoApostilamentoEditView.class, | |
239 | - ViewsContrato.EventoRecebimentoObjetoEditView.class }) | |
235 | + ViewsContrato.ContratoAutoCompleteView.class, | |
236 | + ViewsContrato.EncerramentoContratoEditView.class, | |
237 | + ViewsContrato.EventoApostilamentoEditView.class, | |
238 | + ViewsContrato.EventoRecebimentoObjetoEditView.class }) | |
240 | 239 | @Column(length = 1024, nullable = false) |
241 | 240 | private String objetoContratacao; |
242 | 241 | |
... | ... | @@ -244,20 +243,20 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
244 | 243 | @Column(precision = 20, scale = 4) |
245 | 244 | @JsonDeserialize(using = MoneyDeserializer.class) |
246 | 245 | @JsonView({ ViewsContrato.ContratoEditView.class, |
247 | - ViewsContrato.ContratoAutoCompleteView.class, | |
248 | - ViewsContrato.CronogramaExecucaoEditView.class, | |
249 | - ViewsContrato.EncerramentoContratoEditView.class, | |
250 | - ViewsContrato.RegistroOcorrenciaEditView.class, | |
251 | - ViewsContrato.ContratoEventoEditView.class }) | |
246 | + ViewsContrato.ContratoAutoCompleteView.class, | |
247 | + ViewsContrato.CronogramaExecucaoEditView.class, | |
248 | + ViewsContrato.EncerramentoContratoEditView.class, | |
249 | + ViewsContrato.RegistroOcorrenciaEditView.class, | |
250 | + ViewsContrato.ContratoEventoEditView.class }) | |
252 | 251 | private BigDecimal valorContrato; |
253 | 252 | |
254 | 253 | @Transient |
255 | 254 | @JsonView({ ViewsContrato.ContratoEditView.class, |
256 | - ViewsContrato.ContratoAutoCompleteView.class, | |
257 | - ViewsContrato.CronogramaExecucaoEditView.class, | |
258 | - ViewsContrato.EncerramentoContratoEditView.class, | |
259 | - ViewsContrato.RegistroOcorrenciaEditView.class, | |
260 | - ViewsContrato.ContratoEventoEditView.class }) | |
255 | + ViewsContrato.ContratoAutoCompleteView.class, | |
256 | + ViewsContrato.CronogramaExecucaoEditView.class, | |
257 | + ViewsContrato.EncerramentoContratoEditView.class, | |
258 | + ViewsContrato.RegistroOcorrenciaEditView.class, | |
259 | + ViewsContrato.ContratoEventoEditView.class }) | |
261 | 260 | private BigDecimal valorTotalContrato; |
262 | 261 | |
263 | 262 | /** Atributo dominioFormaPagamentoContrato. */ |
... | ... | @@ -288,8 +287,8 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
288 | 287 | /** Atributo ctrtEmpenhos. */ |
289 | 288 | @OneToMany(fetch = FetchType.LAZY, mappedBy = "contratoAditivo", cascade = CascadeType.ALL, targetEntity = EventoAditivo.class) |
290 | 289 | @JsonView({ ViewsContrato.EventoAditivoEditView.class, |
291 | - ViewsContrato.ContratoEventoEditView.class, | |
292 | - ViewsContrato.ContratoEditView.class }) | |
290 | + ViewsContrato.ContratoEventoEditView.class, | |
291 | + ViewsContrato.ContratoEditView.class }) | |
293 | 292 | private Collection<EventoAditivo> aditivos; |
294 | 293 | |
295 | 294 | /** Atributo valorGarantia. */ |
... | ... | @@ -322,8 +321,7 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
322 | 321 | |
323 | 322 | /** Atributo ctrtEmpenhos. */ |
324 | 323 | @OneToMany(fetch = FetchType.LAZY, mappedBy = "contrato", cascade = CascadeType.ALL) |
325 | - @JsonView({ ViewsContrato.ContratoEditView.class, | |
326 | - ViewsContrato.CronogramaExecucaoEditView.class }) | |
324 | + @JsonView({ ViewsContrato.ContratoEditView.class, ViewsContrato.CronogramaExecucaoEditView.class }) | |
327 | 325 | private Collection<ContratoItem> ctrtItens; |
328 | 326 | |
329 | 327 | /** Atributo garantias. ctrtEnvolvidos */ |
... | ... | @@ -331,10 +329,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
331 | 329 | @JsonView({ ViewsContrato.ContratoEditView.class }) |
332 | 330 | private Collection<ContratoEnvolvido> ctrtEnvolvidos; |
333 | 331 | |
334 | - @OneToMany(fetch = FetchType.LAZY, mappedBy = "contrato", cascade = CascadeType.ALL) | |
335 | - @JsonView({ ViewsContrato.ContratoEditView.class }) | |
336 | - private Collection<ContratoEnvolvidoJustificativa> justificativas; | |
337 | - | |
338 | 332 | /** Atributo dominioModalidadeGarantia. */ |
339 | 333 | @ManyToOne(fetch = FetchType.LAZY) |
340 | 334 | @JsonView({ ViewsContrato.ContratoEditView.class }) |
... | ... | @@ -594,6 +588,7 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
594 | 588 | * @return <code>Calendar</code> |
595 | 589 | */ |
596 | 590 | public Calendar getDataUltimaVigenciaFinal() { |
591 | + | |
597 | 592 | if (this.aditivos == null || this.aditivos.isEmpty()) { |
598 | 593 | return this.dataVigenciaFinal; |
599 | 594 | } else { |
... | ... | @@ -725,6 +720,7 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
725 | 720 | * @return <code>BigDecimal</code> |
726 | 721 | */ |
727 | 722 | public BigDecimal getValorTotalContrato() { |
723 | + | |
728 | 724 | if (this.aditivos == null || this.aditivos.isEmpty()) { |
729 | 725 | return this.valorContrato; |
730 | 726 | } else { |
... | ... | @@ -1006,6 +1002,7 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
1006 | 1002 | * @return the ordensFornecimento |
1007 | 1003 | */ |
1008 | 1004 | public Collection<OrdemFornecimento> getOrdensFornecimento() { |
1005 | + | |
1009 | 1006 | return ordensFornecimento; |
1010 | 1007 | } |
1011 | 1008 | |
... | ... | @@ -1013,18 +1010,9 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
1013 | 1010 | * @param ordensFornecimento |
1014 | 1011 | * the ordensFornecimento to set |
1015 | 1012 | */ |
1016 | - public void setOrdensFornecimento( | |
1017 | - Collection<OrdemFornecimento> ordensFornecimento) { | |
1018 | - this.ordensFornecimento = ordensFornecimento; | |
1019 | - } | |
1013 | + public void setOrdensFornecimento(Collection<OrdemFornecimento> ordensFornecimento) { | |
1020 | 1014 | |
1021 | - public Collection<ContratoEnvolvidoJustificativa> getJustificativas() { | |
1022 | - return justificativas; | |
1023 | - } | |
1024 | - | |
1025 | - public void setJustificativas( | |
1026 | - Collection<ContratoEnvolvidoJustificativa> justificativas) { | |
1027 | - this.justificativas = justificativas; | |
1015 | + this.ordensFornecimento = ordensFornecimento; | |
1028 | 1016 | } |
1029 | 1017 | |
1030 | 1018 | /** | ... | ... |
cit-contratos-api/src/main/java/br/com/centralit/api/model/ContratoEnvolvido.java
1 | 1 | package br.com.centralit.api.model; |
2 | 2 | |
3 | +import java.util.Collection; | |
4 | + | |
5 | +import javax.persistence.CascadeType; | |
3 | 6 | import javax.persistence.Entity; |
4 | 7 | import javax.persistence.FetchType; |
5 | 8 | import javax.persistence.GeneratedValue; |
... | ... | @@ -7,29 +10,41 @@ import javax.persistence.GenerationType; |
7 | 10 | import javax.persistence.Id; |
8 | 11 | import javax.persistence.JoinColumn; |
9 | 12 | import javax.persistence.ManyToOne; |
13 | +import javax.persistence.OneToMany; | |
10 | 14 | import javax.persistence.Table; |
11 | 15 | |
16 | +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; | |
17 | +import com.fasterxml.jackson.annotation.JsonView; | |
18 | + | |
12 | 19 | import br.com.centralit.api.viewHelper.ViewsContrato; |
13 | 20 | import br.com.centralit.framework.json.Views; |
14 | 21 | import br.com.centralit.framework.model.Dominio; |
15 | 22 | import br.com.centralit.framework.model.arquitetura.PersistentObjectAudit; |
16 | 23 | |
17 | -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; | |
18 | -import com.fasterxml.jackson.annotation.JsonView; | |
19 | - | |
20 | - | |
21 | 24 | /** |
22 | - * <p><img src="http://centralit.com.br/images/logo_central.png"></p> | |
25 | + * <p> | |
26 | + * <img src="http://centralit.com.br/images/logo_central.png"> | |
27 | + * </p> | |
23 | 28 | * |
24 | - * <p><b>Company: </b> Central IT - Governança Corporativa - </p> | |
29 | + * <p> | |
30 | + * <b>Company: </b> Central IT - Governança Corporativa - | |
31 | + * </p> | |
25 | 32 | * |
26 | - * <p><b>Title: </b></p> | |
33 | + * <p> | |
34 | + * <b>Title: </b> | |
35 | + * </p> | |
27 | 36 | * |
28 | - * <p><b>Description: </b></p> | |
37 | + * <p> | |
38 | + * <b>Description: </b> | |
39 | + * </p> | |
29 | 40 | * |
30 | - * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p> | |
41 | + * <p> | |
42 | + * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a> | |
43 | + * </p> | |
31 | 44 | * |
32 | - * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p> | |
45 | + * <p> | |
46 | + * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a> | |
47 | + * </p> | |
33 | 48 | * |
34 | 49 | * @since 19/01/2016 - 16:47:54 |
35 | 50 | * |
... | ... | @@ -39,18 +54,18 @@ import com.fasterxml.jackson.annotation.JsonView; |
39 | 54 | * |
40 | 55 | */ |
41 | 56 | @Entity |
42 | -@Table(name="cnt_cn_envolvido") | |
43 | -@JsonIgnoreProperties({ "$checked" }) | |
57 | +@Table(name = "cnt_cn_envolvido") | |
58 | +@JsonIgnoreProperties({ "$checked", "justificativasAnterioresLength" }) | |
44 | 59 | public class ContratoEnvolvido extends PersistentObjectAudit { |
45 | 60 | |
46 | - /** Atributo serialVersionUID. */ | |
47 | - private static final long serialVersionUID = 1L; | |
61 | + /** Atributo serialVersionUID. */ | |
62 | + private static final long serialVersionUID = 1L; | |
48 | 63 | |
49 | - /** Atributo id. */ | |
50 | - @Id | |
51 | - @GeneratedValue(strategy = GenerationType.AUTO) | |
52 | - @JsonView({ Views.GenericView.class }) | |
53 | - private Long id; | |
64 | + /** Atributo id. */ | |
65 | + @Id | |
66 | + @GeneratedValue(strategy = GenerationType.AUTO) | |
67 | + @JsonView({ Views.GenericView.class }) | |
68 | + private Long id; | |
54 | 69 | |
55 | 70 | /** Atributo contrato. */ |
56 | 71 | @ManyToOne(fetch = FetchType.LAZY, optional = true) |
... | ... | @@ -61,15 +76,19 @@ public class ContratoEnvolvido extends PersistentObjectAudit { |
61 | 76 | private Contrato contratoInativo; |
62 | 77 | |
63 | 78 | /** Atributo colaborador. */ |
64 | - @ManyToOne(fetch = FetchType.LAZY, optional=false) | |
65 | - @JsonView({ ViewsContrato.ContratoEditView.class, Views.ContratoView.class }) | |
79 | + @ManyToOne(fetch = FetchType.LAZY, optional = false) | |
80 | + @JsonView({ ViewsContrato.ContratoEditView.class, Views.ContratoView.class }) | |
66 | 81 | private Colaborador envolvido; |
67 | 82 | |
68 | 83 | /** Atributo dominioFormaPagamentoContrato. */ |
69 | - @ManyToOne(fetch = FetchType.LAZY, optional=false) | |
70 | - @JoinColumn(name = "papelenvolvidocontrato_id") | |
71 | - @JsonView({ ViewsContrato.ContratoEditView.class }) | |
72 | - private Dominio dominioPapelEnvolvidoContrato; | |
84 | + @ManyToOne(fetch = FetchType.LAZY, optional = false) | |
85 | + @JoinColumn(name = "papelenvolvidocontrato_id") | |
86 | + @JsonView({ ViewsContrato.ContratoEditView.class }) | |
87 | + private Dominio dominioPapelEnvolvidoContrato; | |
88 | + | |
89 | + @OneToMany(fetch = FetchType.LAZY, mappedBy = "contratoEnvolvido", cascade = CascadeType.ALL) | |
90 | + @JsonView({ ViewsContrato.ContratoEditView.class }) | |
91 | + private Collection<ContratoEnvolvidoJustificativa> justificativas; | |
73 | 92 | |
74 | 93 | /** |
75 | 94 | * Retorna o valor do atributo <code>id</code> |
... | ... | @@ -81,7 +100,6 @@ public class ContratoEnvolvido extends PersistentObjectAudit { |
81 | 100 | return id; |
82 | 101 | } |
83 | 102 | |
84 | - | |
85 | 103 | /** |
86 | 104 | * Define o valor do atributo <code>id</code>. |
87 | 105 | * |
... | ... | @@ -92,7 +110,6 @@ public class ContratoEnvolvido extends PersistentObjectAudit { |
92 | 110 | this.id = id; |
93 | 111 | } |
94 | 112 | |
95 | - | |
96 | 113 | /** |
97 | 114 | * Retorna o valor do atributo <code>contrato</code> |
98 | 115 | * |
... | ... | @@ -103,7 +120,6 @@ public class ContratoEnvolvido extends PersistentObjectAudit { |
103 | 120 | return contrato; |
104 | 121 | } |
105 | 122 | |
106 | - | |
107 | 123 | /** |
108 | 124 | * Define o valor do atributo <code>contrato</code>. |
109 | 125 | * |
... | ... | @@ -114,7 +130,6 @@ public class ContratoEnvolvido extends PersistentObjectAudit { |
114 | 130 | this.contrato = contrato; |
115 | 131 | } |
116 | 132 | |
117 | - | |
118 | 133 | /** |
119 | 134 | * Retorna o valor do atributo <code>contratoInativo</code> |
120 | 135 | * |
... | ... | @@ -125,7 +140,6 @@ public class ContratoEnvolvido extends PersistentObjectAudit { |
125 | 140 | return contratoInativo; |
126 | 141 | } |
127 | 142 | |
128 | - | |
129 | 143 | /** |
130 | 144 | * Define o valor do atributo <code>contratoInativo</code>. |
131 | 145 | * |
... | ... | @@ -136,25 +150,34 @@ public class ContratoEnvolvido extends PersistentObjectAudit { |
136 | 150 | this.contratoInativo = contratoInativo; |
137 | 151 | } |
138 | 152 | |
139 | - | |
140 | 153 | public Colaborador getEnvolvido() { |
154 | + | |
141 | 155 | return envolvido; |
142 | 156 | } |
143 | 157 | |
144 | - | |
145 | 158 | public void setEnvolvido(Colaborador envolvido) { |
159 | + | |
146 | 160 | this.envolvido = envolvido; |
147 | 161 | } |
148 | 162 | |
149 | - | |
150 | 163 | public Dominio getDominioPapelEnvolvidoContrato() { |
164 | + | |
151 | 165 | return dominioPapelEnvolvidoContrato; |
152 | 166 | } |
153 | 167 | |
168 | + public void setDominioPapelEnvolvidoContrato(Dominio dominioPapelEnvolvidoContrato) { | |
154 | 169 | |
155 | - public void setDominioPapelEnvolvidoContrato( | |
156 | - Dominio dominioPapelEnvolvidoContrato) { | |
157 | 170 | this.dominioPapelEnvolvidoContrato = dominioPapelEnvolvidoContrato; |
158 | 171 | } |
159 | 172 | |
173 | + public Collection<ContratoEnvolvidoJustificativa> getJustificativas() { | |
174 | + | |
175 | + return justificativas; | |
176 | + } | |
177 | + | |
178 | + public void setJustificativas(Collection<ContratoEnvolvidoJustificativa> justificativas) { | |
179 | + | |
180 | + this.justificativas = justificativas; | |
181 | + } | |
182 | + | |
160 | 183 | } | ... | ... |
cit-contratos-api/src/main/java/br/com/centralit/api/model/ContratoEnvolvidoJustificativa.java
... | ... | @@ -52,7 +52,7 @@ public class ContratoEnvolvidoJustificativa extends PersistentObjectAudit { |
52 | 52 | private String descricao; |
53 | 53 | |
54 | 54 | @ManyToOne(fetch = FetchType.LAZY, optional = true) |
55 | - private Contrato contrato; | |
55 | + private ContratoEnvolvido contratoEnvolvido; | |
56 | 56 | |
57 | 57 | public Long getId() { |
58 | 58 | |
... | ... | @@ -67,17 +67,21 @@ public class ContratoEnvolvidoJustificativa extends PersistentObjectAudit { |
67 | 67 | public String getDescricao() { |
68 | 68 | return descricao; |
69 | 69 | } |
70 | - | |
70 | + | |
71 | 71 | public void setDescricao(String descricao) { |
72 | 72 | this.descricao = descricao; |
73 | 73 | } |
74 | - | |
75 | - public Contrato getContrato() { | |
76 | - return contrato; | |
74 | + | |
75 | + | |
76 | + public ContratoEnvolvido getContratoEnvolvido() { | |
77 | + | |
78 | + return contratoEnvolvido; | |
77 | 79 | } |
78 | 80 | |
79 | - public void setContrato(Contrato contrato) { | |
80 | - this.contrato = contrato; | |
81 | + | |
82 | + public void setContratoEnvolvido(ContratoEnvolvido contratoEnvolvido) { | |
83 | + | |
84 | + this.contratoEnvolvido = contratoEnvolvido; | |
81 | 85 | } |
82 | 86 | |
83 | 87 | } | ... | ... |
cit-contratos-api/src/main/java/br/com/centralit/api/service/impl/ContratoServiceImpl.java
... | ... | @@ -8,6 +8,7 @@ import java.util.Currency; |
8 | 8 | import java.util.Iterator; |
9 | 9 | import java.util.List; |
10 | 10 | |
11 | +import org.apache.commons.collections.CollectionUtils; | |
11 | 12 | import org.springframework.beans.factory.annotation.Autowired; |
12 | 13 | import org.springframework.beans.factory.annotation.Qualifier; |
13 | 14 | import org.springframework.security.core.context.SecurityContextHolder; |
... | ... | @@ -38,7 +39,6 @@ import br.com.centralit.api.service.EstudoTecnicoService; |
38 | 39 | import br.com.centralit.api.service.EventoAditivoService; |
39 | 40 | import br.com.centralit.api.service.FornecedorService; |
40 | 41 | import br.com.centralit.api.service.InternacionalizacaoService; |
41 | -import br.com.centralit.api.service.OrdemFornecimentoService; | |
42 | 42 | import br.com.centralit.api.service.ParceiroService; |
43 | 43 | import br.com.centralit.api.service.UsuarioService; |
44 | 44 | import br.com.centralit.framework.exception.CodigoErro; |
... | ... | @@ -115,9 +115,6 @@ public class ContratoServiceImpl extends GenericServiceImpl<Contrato, Long> impl |
115 | 115 | @Autowired |
116 | 116 | private EventoAditivoService aditivoService; |
117 | 117 | |
118 | - @Autowired | |
119 | - private OrdemFornecimentoService ordemFornecimentoService; | |
120 | - | |
121 | 118 | /** |
122 | 119 | * Responsável pela criação de novas instâncias desta classe. |
123 | 120 | * @param contratoDao |
... | ... | @@ -277,25 +274,19 @@ public class ContratoServiceImpl extends GenericServiceImpl<Contrato, Long> impl |
277 | 274 | } |
278 | 275 | } |
279 | 276 | |
280 | - // cria vinculo do contrato com as ctrtItens | |
281 | - if (!UtilColecao.isVazio(contrato.getCtrtEnvolvidos())){ | |
282 | - | |
277 | + // cria vinculo do contrato com os envolvidos | |
278 | + if (CollectionUtils.isNotEmpty(contrato.getCtrtEnvolvidos())){ | |
283 | 279 | for (ContratoEnvolvido contratoEnvolvido : contrato.getCtrtEnvolvidos()) { |
284 | - | |
285 | 280 | contratoEnvolvido.setEnvolvido(this.colaboradorService.find(contratoEnvolvido.getEnvolvido().getId())); |
286 | - | |
287 | 281 | contratoEnvolvido.setContrato(contrato); |
282 | + if (CollectionUtils.isNotEmpty(contratoEnvolvido.getJustificativas())){ | |
283 | + for(ContratoEnvolvidoJustificativa justificativa : contratoEnvolvido.getJustificativas()){ | |
284 | + justificativa.setContratoEnvolvido(contratoEnvolvido); | |
285 | + justificativa.setAutor(this.usuarioService.find(justificativa.getAutor().getId())); | |
286 | + } | |
287 | + } | |
288 | 288 | } |
289 | - } | |
290 | - | |
291 | - // cria vinculo do contrato com as justificativas de alterções dos envolvidos | |
292 | - if (!UtilColecao.isVazio(contrato.getJustificativas())){ | |
293 | - | |
294 | - for (ContratoEnvolvidoJustificativa justificativa : contrato.getJustificativas()) { | |
295 | - | |
296 | - justificativa.setContrato(contrato); | |
297 | 289 | } |
298 | - } | |
299 | 290 | |
300 | 291 | if (!UtilColecao.isVazio(contrato.getAditivos())){ |
301 | 292 | for (EventoAditivo aditivo : contrato.getAditivos()) { | ... | ... |
cit-contratos-api/src/main/resources/script-bd/v1.0.0-alpha11/01-cit-contratos-1.0.0-ALFA-11-postgres.sql
... | ... | @@ -16,4 +16,15 @@ VALUES (NEXTVAL('hibernate_sequence'), LOCALTIMESTAMP, LOCALTIMESTAMP, 0, true, |
16 | 16 | ALTER TABLE cnt_ev_recebimentoobjeto DROP COLUMN nomeobjeto; |
17 | 17 | TRUNCATE CASCADE MENU; |
18 | 18 | TRUNCATE PAGINA; |
19 | --- LUÍS CÉSRA FIM 06/04/2016 | |
20 | 19 | \ No newline at end of file |
20 | +-- LUÍS CÉSRA FIM 06/04/2016 | |
21 | + | |
22 | +-- CIRO INICIO 07/04/2016 | |
23 | +ALTER TABLE cnt_en_justificativa DROP CONSTRAINT fk_fa7tb16mca69yyhv2uvi4qd63; | |
24 | +ALTER TABLE cnt_en_justificativa DROP COLUMN contrato_id; | |
25 | + | |
26 | +ALTER TABLE cnt_en_justificativa ADD COLUMN contratoenvolvido_id bigint; | |
27 | +ALTER TABLE cnt_en_justificativa ADD CONSTRAINT fk_qgt7nl7x7xlduo7mysfv2lkqi FOREIGN KEY (contratoenvolvido_id) | |
28 | +REFERENCES cnt_cn_envolvido (id) MATCH SIMPLE | |
29 | +ON UPDATE NO ACTION | |
30 | +ON DELETE NO ACTION; | |
31 | +-- CIRO FIM 07/04/2016 | ... | ... |
cit-contratos-web/src/main/java/br/com/centralit/listener/StartupListenerContratos.java
... | ... | @@ -981,6 +981,7 @@ 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 | + internacionalizacaoList.add(new Internacionalizacao("CONTRATOS.LABEL.ADICIONAR_JUSTIFICATIVA", "Adicionar Justificativa", dominio, modulo)); | |
984 | 985 | |
985 | 986 | internacionalizacaoList.add(new Internacionalizacao("CONTRATOS.LABEL.TERMO_REFERENCIA_PROJETO_BASICO", "Termo de referência/Projeto Básico", dominio, modulo)); |
986 | 987 | internacionalizacaoList.add(new Internacionalizacao("CONTRATOS.LABEL.CONTRATO_SEM_VINCULO_TERMO", "Contrato selecionado está sem vínculo a um termo de referência.", dominio, modulo)); | ... | ... |
cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/ContratoController.js
... | ... | @@ -87,14 +87,13 @@ citApp.controller('ContratoController', ['$scope', '$filter', 'FileUploader', 'C |
87 | 87 | }; |
88 | 88 | // ###################### FIM: INICIALIZACAO DE VARIAVEIS ########################### |
89 | 89 | |
90 | - // Limpa formul�rio para novo cadastro | |
90 | + // Limpa formulario para novo cadastro | |
91 | 91 | $scope.resetForm = function() { |
92 | 92 | |
93 | 93 | $scope.contrato = { |
94 | 94 | ctrtEmpenhos : [], |
95 | 95 | ctrtItens : [], |
96 | 96 | ctrtEnvolvidos : [], |
97 | - justificativas : [], | |
98 | 97 | ctrtValoresPagamento : [], |
99 | 98 | dominioSituacaoAtual : {codigo : 1}, |
100 | 99 | valorTotalEmpenhado : 0.0, |
... | ... | @@ -243,83 +242,79 @@ citApp.controller('ContratoController', ['$scope', '$filter', 'FileUploader', 'C |
243 | 242 | $scope.contratoForm.anexosObservacoesContratoForm.$submitted = true; |
244 | 243 | |
245 | 244 | // verifica formulario valido |
246 | - if ($scope.contratoForm.$valid) { | |
247 | - | |
248 | - // data da celebracao nao pode ser maior que a data de vigencia inicial do contrato | |
249 | - if(!isPeriodoValido($scope.contrato.dataCelebracao, $scope.contrato.dataVigenciaInicial)){ | |
250 | - | |
251 | - $scope.showAlert('error', $translate.instant('VALIDACAO.DATA_CELEBRACAO_MAIOR_DATA_VIGENCIA_INICIAL')); | |
252 | - return; | |
253 | - } | |
254 | - | |
255 | - // data de vigencia inicial nao pode ser maior que a data de vigencia final do contrato | |
256 | - if(!isPeriodoValido($scope.contrato.dataVigenciaInicial, $scope.contrato.dataVigenciaFinal)){ | |
245 | + if ($scope.contratoForm.$invalid) { | |
246 | + $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS')); | |
247 | + return; | |
248 | + } | |
257 | 249 | |
258 | - $scope.showAlert('error', $translate.instant('VALIDACAO.DATA_VIGENCIA_INICIAL_MAIOR_DATA_VIGENCIA_FINAL_CONTRATO')); | |
259 | - return; | |
260 | - } | |
250 | + if(!$scope.informacoesValidas()){ | |
251 | + return; | |
252 | + }; | |
261 | 253 | |
262 | - // data de vigencia inicial nao pode ser maior que a data de vigencia final do contrato | |
263 | - if($scope.contrato.ctrtEnvolvidos && $scope.contrato.ctrtEnvolvidos.length > 0 && $scope.contrato.ctrtEnvolvidos.length < 3){ | |
254 | + if ($scope.contrato.id && $scope.contrato.ctrtEnvolvidos){ | |
255 | + angular.forEach($scope.contrato.ctrtEnvolvidos, function(envolvido){ | |
256 | + if (envolvido.justificativas.length === 0){ | |
257 | + angular.forEach(envolvido.justificativas, function(justificativa){ | |
258 | + delete justificativa.autor; | |
259 | + delete justificativa.dataCriacao; | |
260 | + }); | |
261 | + } | |
262 | + }); | |
263 | + } | |
264 | 264 | |
265 | - $scope.showAlert('error', $translate.instant('VALIDACAO.CONTRATO_EXIGE_MINIMO_TRES_ENVOLVIDOS')); | |
265 | + if ($scope.contrato.ctrtValoresPagamento && $scope.contrato.ctrtValoresPagamento.length > 0){ | |
266 | + if (!validarContratoValoresPagamento()){ | |
266 | 267 | return; |
267 | 268 | } |
269 | + angular.forEach($scope.contrato.ctrtValoresPagamento, function(parcelaValorPagamento){ | |
270 | + if (parcelaValorPagamento.seguencia){ | |
271 | + delete parcelaValorPagamento.seguencia; | |
272 | + } | |
273 | + }); | |
274 | + } | |
268 | 275 | |
269 | - if($scope.contrato.id && $scope.hasAlteracaoEnvolvido){ | |
276 | + $scope.contratoTemp = { | |
277 | + documentos: [] | |
278 | + }; | |
270 | 279 | |
271 | - $scope.showAlert('error', $translate.instant('CONTRATOS.VALIDACAO.ALTERACAO_ENVOLVIDOS_EXIGE_JUSTIFICATIVA')); | |
272 | - return; | |
273 | - } else { | |
274 | - angular.forEach($scope.contrato.justificativas, function(justificativa){ | |
275 | - delete justificativa.autor; | |
276 | - delete justificativa.dataCriacao; | |
280 | + // preencher lista de documentos temporarios para verificacao dos anexos. verificar qual anexo e de qual documento pelo numero do documento | |
281 | + angular.forEach($scope.contrato.documentos, function(documento, key) { | |
282 | + if (documento.uploadsDocumento) { | |
283 | + $scope.contratoTemp.documentos.push({ | |
284 | + uploadsDocumento: clone(documento.uploadsDocumento), | |
285 | + numero: clone(documento.numero) | |
277 | 286 | }); |
287 | + // deleta esse atributo por causa de um erro de ciclo no json | |
288 | + delete documento.uploadsDocumento; | |
278 | 289 | } |
290 | + }); | |
279 | 291 | |
280 | - if ($scope.contrato.ctrtValoresPagamento && $scope.contrato.ctrtValoresPagamento.length > 0){ | |
281 | - | |
282 | - if (!validarContratoValoresPagamento()){ | |
283 | - | |
284 | - return; | |
285 | - | |
286 | - } else { | |
287 | - | |
288 | - angular.forEach($scope.contrato.ctrtValoresPagamento, function(parcelaValorPagamento){ | |
289 | - | |
290 | - if (parcelaValorPagamento.seguencia){ | |
291 | - | |
292 | - delete parcelaValorPagamento.seguencia; | |
293 | - } | |
294 | - }); | |
295 | - } | |
296 | - } | |
297 | - | |
298 | - $scope.contratoTemp = { | |
299 | - documentos: [] | |
300 | - }; | |
292 | + if ($scope.contrato.programaAcao && $scope.contrato.programaAcao.originalElement) { | |
293 | + $scope.contrato.programaAcao = $scope.contrato.programaAcao.originalElement; | |
294 | + } | |
295 | + verificarValorTotalEmpenhado(); | |
296 | + }; | |
301 | 297 | |
302 | - // preencher lista de documentos temporarios para verificacao dos anexos. verificar qual anexo e de qual documento pelo numero do documento | |
303 | - angular.forEach($scope.contrato.documentos, function(documento, key) { | |
304 | - if (documento.uploadsDocumento) { | |
305 | - $scope.contratoTemp.documentos.push({ | |
306 | - uploadsDocumento: clone(documento.uploadsDocumento), | |
307 | - numero: clone(documento.numero) | |
308 | - }); | |
309 | - // deleta esse atributo por causa de um erro de ciclo no json | |
310 | - delete documento.uploadsDocumento; | |
311 | - } | |
312 | - }); | |
298 | + $scope.informacoesValidas = function () { | |
313 | 299 | |
314 | - if ($scope.contrato.programaAcao && $scope.contrato.programaAcao.originalElement) { | |
315 | - $scope.contrato.programaAcao = $scope.contrato.programaAcao.originalElement; | |
316 | - } | |
300 | + // data da celebracao nao pode ser maior que a data de vigencia inicial do contrato | |
301 | + if(!isPeriodoValido($scope.contrato.dataCelebracao, $scope.contrato.dataVigenciaInicial)){ | |
302 | + $scope.showAlert('error', $translate.instant('VALIDACAO.DATA_CELEBRACAO_MAIOR_DATA_VIGENCIA_INICIAL')); | |
303 | + return false; | |
304 | + } | |
317 | 305 | |
318 | - verificarValorTotalEmpenhado(); | |
319 | - } else { | |
306 | + // data de vigencia inicial nao pode ser maior que a data de vigencia final do contrato | |
307 | + if(!isPeriodoValido($scope.contrato.dataVigenciaInicial, $scope.contrato.dataVigenciaFinal)){ | |
308 | + $scope.showAlert('error', $translate.instant('VALIDACAO.DATA_VIGENCIA_INICIAL_MAIOR_DATA_VIGENCIA_FINAL_CONTRATO')); | |
309 | + return false; | |
310 | + } | |
320 | 311 | |
321 | - $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS')); | |
312 | + // data de vigencia inicial nao pode ser maior que a data de vigencia final do contrato | |
313 | + if($scope.contrato.ctrtEnvolvidos && $scope.contrato.ctrtEnvolvidos.length > 0 && $scope.contrato.ctrtEnvolvidos.length < 3){ | |
314 | + $scope.showAlert('error', $translate.instant('VALIDACAO.CONTRATO_EXIGE_MINIMO_TRES_ENVOLVIDOS')); | |
315 | + return false; | |
322 | 316 | } |
317 | + return true; | |
323 | 318 | }; |
324 | 319 | |
325 | 320 | function save() { |
... | ... | @@ -1369,10 +1364,8 @@ citApp.controller('ContratoController', ['$scope', '$filter', 'FileUploader', 'C |
1369 | 1364 | }); |
1370 | 1365 | |
1371 | 1366 | if (contratoEnvolvidosChecked.length > 1){ |
1372 | - | |
1373 | 1367 | $scope.acaoEmMassaEnvolvido = true; |
1374 | 1368 | } else { |
1375 | - | |
1376 | 1369 | $scope.acaoEmMassaEnvolvido = false; |
1377 | 1370 | } |
1378 | 1371 | }; |
... | ... | @@ -1380,79 +1373,77 @@ citApp.controller('ContratoController', ['$scope', '$filter', 'FileUploader', 'C |
1380 | 1373 | // responsavel por abrir modal de adicao de um contratoEnvolvido |
1381 | 1374 | $scope.openModalContratoEnvolvido = function() { |
1382 | 1375 | |
1383 | - filtrarPapeisSelecionados(); | |
1384 | - | |
1385 | - $scope.contratoEnvolvidoTemp = {}; | |
1386 | 1376 | $scope.editEnvolvido = true; |
1387 | - $scope.$openModal('modal-envolvido.html', 'lg'); | |
1377 | + $scope.contratoEnvolvidoTemp = {justificativas : []}; | |
1378 | + $scope.contrato.ctrtEnvolvidos.forEach(function(item){ | |
1379 | + if(item.$checked){ | |
1380 | + item.$checked = false; | |
1381 | + } | |
1382 | + }); | |
1383 | + filtrarPapeisSelecionados(); | |
1384 | + $scope.$openModal('dialog_envolvido.html', 'lg'); | |
1388 | 1385 | }; |
1389 | 1386 | |
1390 | - // responsavel por abrir modal de adicao de uma justificativa | |
1391 | - $scope.openModalJustificativa = function() { | |
1392 | - | |
1393 | - $scope.justificativaTemp = {}; | |
1394 | - $scope.editEnvolvido = true; | |
1395 | - $scope.$openModal('modal-justificativa.html', 'lg'); | |
1387 | + $scope.closeModalContratoEvolvido = function(formDialogEnvolvido) { | |
1388 | + $scope.hasAlteracaoEnvolvido = false; | |
1389 | + formDialogEnvolvido.$submitted = false; | |
1390 | + $scope.$modalInstance.dismiss('cancel'); | |
1396 | 1391 | }; |
1397 | 1392 | |
1398 | 1393 | $scope.adicionarContratoEnvolvido = function (formDialogEnvolvido, continuarEditando) { |
1399 | 1394 | |
1400 | 1395 | formDialogEnvolvido.$submitted = true; |
1396 | + if($scope.contrato.id && $scope.hasAlteracaoEnvolvido){ | |
1397 | + if($scope.contratoEnvolvidoTemp.justificativas.length === 0 || | |
1398 | + $scope.contratoEnvolvidoTemp.justificativas.length === $scope.contratoEnvolvidoTemp.justificativasAnterioresLength){ | |
1399 | + $scope.showAlert('error', $translate.instant('CONTRATOS.VALIDACAO.ALTERACAO_ENVOLVIDOS_EXIGE_JUSTIFICATIVA')); | |
1400 | + return; | |
1401 | + } | |
1402 | + } | |
1401 | 1403 | |
1402 | - if (formDialogEnvolvido.$valid) { | |
1403 | - if ($scope.contrato.ctrtEnvolvidos){ | |
1404 | - if ($scope.contratoEnvolvidoTemp.$checked) { | |
1405 | - for (var i = 0; i < $scope.contrato.ctrtEnvolvidos.length; i++) { | |
1406 | - if ($scope.contrato.ctrtEnvolvidos[i].$checked) { | |
1407 | - $scope.contrato.ctrtEnvolvidos[i] = $scope.contratoEnvolvidoTemp; | |
1408 | - } | |
1404 | + if (formDialogEnvolvido.$invalid) { | |
1405 | + //Mensagem de erro de campos obrigatorios nao preenchidos | |
1406 | + $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false); | |
1407 | + return; | |
1408 | + } | |
1409 | + if ($scope.contrato.ctrtEnvolvidos){ | |
1410 | + if ($scope.contratoEnvolvidoTemp.$checked) { | |
1411 | + for (var i = 0; i < $scope.contrato.ctrtEnvolvidos.length; i++) { | |
1412 | + if ($scope.contrato.ctrtEnvolvidos[i].$checked) { | |
1413 | + $scope.contrato.ctrtEnvolvidos[i] = $scope.contratoEnvolvidoTemp; | |
1409 | 1414 | } |
1410 | - } else { | |
1411 | - $scope.contrato.ctrtEnvolvidos.push($scope.contratoEnvolvidoTemp); | |
1412 | 1415 | } |
1413 | - } | |
1414 | - | |
1415 | - $scope.contratoEnvolvidoTemp = {}; | |
1416 | - if (continuarEditando) { | |
1417 | - formDialogEnvolvido.$submitted = false; | |
1418 | - formDialogEnvolvido.$setPristine(); | |
1419 | - filtrarPapeisSelecionados(); | |
1420 | 1416 | } else { |
1421 | - $scope.$modalInstance.dismiss('cancel'); | |
1417 | + $scope.contrato.ctrtEnvolvidos.push($scope.contratoEnvolvidoTemp); | |
1422 | 1418 | } |
1419 | + } | |
1423 | 1420 | |
1424 | - if ($scope.contrato.id){ | |
1425 | - $scope.hasAlteracaoEnvolvido = true; | |
1426 | - } | |
1421 | + $scope.contratoEnvolvidoTemp = {}; | |
1422 | + $scope.justificativaTemp = {}; | |
1423 | + $scope.hasAlteracaoEnvolvido = false; | |
1424 | + if (continuarEditando) { | |
1425 | + formDialogEnvolvido.$submitted = false; | |
1426 | + formDialogEnvolvido.$setPristine(); | |
1427 | + filtrarPapeisSelecionados(); | |
1427 | 1428 | } else { |
1428 | - //Mensagem de erro de campos obrigatorios n�o preenchidos | |
1429 | - $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false); | |
1429 | + $scope.$modalInstance.dismiss('cancel'); | |
1430 | 1430 | } |
1431 | 1431 | }; |
1432 | 1432 | |
1433 | - $scope.adicionarJustificativa = function (formDialogJustificativa, continuarEditando) { | |
1433 | + $scope.adicionarJustificativa = function (form) { | |
1434 | 1434 | |
1435 | - formDialogJustificativa.$submitted = true; | |
1435 | + form.$submitted = true; | |
1436 | 1436 | |
1437 | - if (formDialogJustificativa.$valid) { | |
1438 | - if ($scope.contrato.justificativas){ | |
1439 | - $scope.justificativaTemp.autor = $scope.usuarioLogado; | |
1440 | - $scope.justificativaTemp.dataCriacao = new Date(); | |
1441 | - $scope.contrato.justificativas.push($scope.justificativaTemp); | |
1442 | - } | |
1443 | - | |
1444 | - $scope.justificativaTemp = {}; | |
1445 | - if (continuarEditando) { | |
1446 | - formDialogJustificativa.$submitted = false; | |
1447 | - formDialogJustificativa.$setPristine(); | |
1448 | - } else { | |
1449 | - $scope.$modalInstance.dismiss('cancel'); | |
1450 | - } | |
1451 | - $scope.hasAlteracaoEnvolvido = false; | |
1452 | - } else { | |
1453 | - //Mensagem de erro de campos obrigatorios n�o preenchidos | |
1454 | - $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false); | |
1437 | + if ($scope.justificativaTemp.descricao === '' || $scope.justificativaTemp.descricao == undefined) { | |
1438 | + $scope.showAlert('error', $translate.instant('CONTRATOS.VALIDACAO.ALTERACAO_ENVOLVIDOS_EXIGE_JUSTIFICATIVA')); | |
1439 | + return; | |
1440 | + } | |
1441 | + if ($scope.contratoEnvolvidoTemp.justificativas){ | |
1442 | + $scope.justificativaTemp.autor = $scope.usuarioLogado; | |
1443 | + $scope.justificativaTemp.dataCriacao = new Date(); | |
1444 | + $scope.contratoEnvolvidoTemp.justificativas.push($scope.justificativaTemp); | |
1455 | 1445 | } |
1446 | + $scope.justificativaTemp = {}; | |
1456 | 1447 | }; |
1457 | 1448 | |
1458 | 1449 | function filtrarPapeisSelecionados() { |
... | ... | @@ -1460,16 +1451,18 @@ citApp.controller('ContratoController', ['$scope', '$filter', 'FileUploader', 'C |
1460 | 1451 | |
1461 | 1452 | var dominiosPapelEnvolvidoContrato = []; |
1462 | 1453 | $scope.contrato.ctrtEnvolvidos.forEach(function(item){ |
1463 | - | |
1464 | - dominiosPapelEnvolvidoContrato.push(item.dominioPapelEnvolvidoContrato); | |
1454 | + if(!item.$checked){ | |
1455 | + dominiosPapelEnvolvidoContrato.push(item.dominioPapelEnvolvidoContrato); | |
1456 | + } | |
1465 | 1457 | }); |
1466 | 1458 | |
1467 | 1459 | $scope.dominioPapelEnvolvidoList = $filter('idNotEqualDominio')($scope.dominioPapelEnvolvidoListFixa, dominiosPapelEnvolvidoContrato); |
1468 | 1460 | |
1469 | - if ($scope.dominioPapelEnvolvidoList && $scope.dominioPapelEnvolvidoList.length === 0){ | |
1470 | - | |
1471 | - $scope.showAlert('warning', $translate.instant('CONTRATOS.MSG.TODOS_PAPEIS_ENVOLVIDOS_ADICIONADOS')); | |
1472 | - return; | |
1461 | + if($scope.editEnvolvido){ | |
1462 | + if ($scope.dominioPapelEnvolvidoList && $scope.dominioPapelEnvolvidoList.length === 0){ | |
1463 | + $scope.showAlert('warning', $translate.instant('CONTRATOS.MSG.TODOS_PAPEIS_ENVOLVIDOS_ADICIONADOS')); | |
1464 | + return; | |
1465 | + } | |
1473 | 1466 | } |
1474 | 1467 | } |
1475 | 1468 | }; |
... | ... | @@ -1519,10 +1512,6 @@ citApp.controller('ContratoController', ['$scope', '$filter', 'FileUploader', 'C |
1519 | 1512 | } |
1520 | 1513 | |
1521 | 1514 | $scope.dominioPapelEnvolvidoList.push(papelExcluido); |
1522 | - | |
1523 | - if ($scope.contrato.id) { | |
1524 | - $scope.hasAlteracaoEnvolvido = true; | |
1525 | - } | |
1526 | 1515 | } |
1527 | 1516 | }); |
1528 | 1517 | }; |
... | ... | @@ -1558,25 +1547,29 @@ citApp.controller('ContratoController', ['$scope', '$filter', 'FileUploader', 'C |
1558 | 1547 | }; |
1559 | 1548 | |
1560 | 1549 | // Responsavel por abrir modal de envolvido para edicao ou visualizacao do item selecionado |
1561 | - $scope.abrirContratoEnvolvido = function(edit) { | |
1562 | - | |
1563 | - filtrarPapeisSelecionados(); | |
1550 | + $scope.visualizarEditarContratoEnvolvido = function(edit) { | |
1564 | 1551 | |
1565 | 1552 | $scope.editEnvolvido = edit; |
1566 | - | |
1567 | 1553 | $scope.contratoEnvolvidoTemp = null; |
1568 | - | |
1569 | 1554 | // recupera o item de contrato selecionado |
1570 | 1555 | $scope.contratoEnvolvidoTemp = $scope.getCheckedContratoEnvolvido(); |
1571 | - | |
1572 | 1556 | if(!$scope.contratoEnvolvidoTemp) { |
1573 | - | |
1574 | 1557 | $scope.showAlert('warning', !edit ? $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_VISUALIZACAO') : $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_EDICAO')); |
1575 | 1558 | return; |
1576 | 1559 | } |
1577 | - | |
1560 | + $scope.justificativaTemp = {}; | |
1561 | + if($scope.contratoEnvolvidoTemp.justificativas){ | |
1562 | + $scope.contratoEnvolvidoTemp.justificativasAnterioresLength = $scope.contratoEnvolvidoTemp.justificativas.length; | |
1563 | + } else { | |
1564 | + $scope.contratoEnvolvidoTemp.justificativasAnterioresLength = 0; | |
1565 | + $scope.contratoEnvolvidoTemp.justificativas = []; | |
1566 | + } | |
1567 | + if($scope.contrato.id){ | |
1568 | + $scope.hasAlteracaoEnvolvido = edit; | |
1569 | + } | |
1570 | + filtrarPapeisSelecionados(); | |
1578 | 1571 | $timeout(function() { |
1579 | - $scope.$openModal('modal-envolvido.html', 'lg'); | |
1572 | + $scope.$openModal('dialog_envolvido.html', 'lg'); | |
1580 | 1573 | }); |
1581 | 1574 | }; |
1582 | 1575 | ... | ... |
cit-contratos-web/src/main/webapp/html/contrato/contratoPg5.html
... | ... | @@ -9,11 +9,11 @@ |
9 | 9 | tooltip="{{$translate.instant('VALIDACAO.CONTRATO_EXIGE_MINIMO_TRES_ENVOLVIDOS')}}" tooltip-placement='top'/> |
10 | 10 | </label> |
11 | 11 | </legend> |
12 | - | |
13 | - <script type="text/ng-template" id="modal-envolvido.html"> | |
12 | + | |
13 | + <script type="text/ng-template" id="dialog_envolvido.html"> | |
14 | 14 | <div ng-include src="'/cit-contratos-web/html/contrato/dialog_envolvido.html'" /> |
15 | 15 | </script> |
16 | - | |
16 | + | |
17 | 17 | <div class="row margin-top"> |
18 | 18 | <div class="col-sm-12"> |
19 | 19 | <div class="panel panel-default"> |
... | ... | @@ -23,15 +23,15 @@ |
23 | 23 | <i class="fa fa-plus-circle yellow-dark"></i> |
24 | 24 | <translate>LABEL.ADICIONAR</translate> |
25 | 25 | </button> |
26 | - | |
26 | + | |
27 | 27 | <button title="{{$translate.instant('LABEL.VISUALIZAR')}}" alt="{{$translate.instant('LABEL.VISUALIZAR')}}" class="btn btn-clear" type="button" |
28 | - ng-click="abrirContratoEnvolvido(false);" ng-disabled="acaoEmMassaEnvolvido"> | |
28 | + ng-click="visualizarEditarContratoEnvolvido(false);" ng-if="!acaoEmMassaEnvolvido"> | |
29 | 29 | <i class="fa fa-search blue"></i> |
30 | 30 | <translate>LABEL.VISUALIZAR</translate> |
31 | 31 | </button> |
32 | - | |
32 | + | |
33 | 33 | <button title="{{$translate.instant('LABEL.EDITAR')}}" alt="{{$translate.instant('LABEL.EDITAR')}}" ng-show="edit" class="btn btn-clear" type="button" |
34 | - ng-click="abrirContratoEnvolvido(true);" ng-if="!acaoEmMassaEnvolvido"> | |
34 | + ng-click="visualizarEditarContratoEnvolvido(true);" ng-if="!acaoEmMassaEnvolvido"> | |
35 | 35 | <i class="fa fa-pencil blue"></i> |
36 | 36 | <translate>LABEL.EDITAR</translate> |
37 | 37 | </button> |
... | ... | @@ -65,55 +65,5 @@ |
65 | 65 | </div><!-- .col --> |
66 | 66 | </div> <!-- .row --> |
67 | 67 | </fieldset><!-- .fieldset --> |
68 | - | |
69 | - <fieldset ng-if="(contrato.id && hasAlteracaoEnvolvido) || (contrato.id && contrato.justificativas.length > 0)"> | |
70 | - <legend> | |
71 | - <label ng-class="{'has-error' : informacoesEnvolvidosContratoForm.$submitted && hasAlteracaoEnvolvido && (!contrato.justificativas || contrato.justificativas.length < 1)}"> | |
72 | - <translate>LABEL.JUSTIFICATIVAS</translate> | |
73 | - <span class='red' ng-show="true">*</span> | |
74 | - <i ng-show="informacoesEnvolvidosContratoForm.$submitted && hasAlteracaoEnvolvido && (!contrato.justificativas || contrato.justificativas.length < 1)" class='fa fa-warning red' | |
75 | - tooltip="{{$translate.instant('CONTRATOS.VALIDACAO.ALTERACAO_ENVOLVIDOS_EXIGE_JUSTIFICATIVA')}}" tooltip-placement='top'/> | |
76 | - </label> | |
77 | - </legend> | |
78 | - | |
79 | - <script type="text/ng-template" id="modal-justificativa.html"> | |
80 | - <div ng-include src="'/cit-contratos-web/html/contrato/dialog_justificativa.html'" /> | |
81 | - </script> | |
82 | - | |
83 | - <div class="row margin-top"> | |
84 | - <div class="col-sm-12"> | |
85 | - <div class="panel panel-default"> | |
86 | - <div class="panel-heading clearfix"> | |
87 | - <button title="{{$translate.instant('LABEL.ADICIONAR')}}" alt="{{$translate.instant('LABEL.ADICIONAR')}}" class="btn btn-clear" type="button" ng-show="true" | |
88 | - ng-click="openModalJustificativa();"> | |
89 | - <i class="fa fa-plus-circle yellow-dark"></i> | |
90 | - <translate>LABEL.ADICIONAR</translate> | |
91 | - </button> | |
92 | - </div><!-- .panel-heading --> | |
93 | - <table class="table table-bordered table-striped"> | |
94 | - <thead> | |
95 | - <tr> | |
96 | - <th style="width: 5%;" class="text-center">#</th> | |
97 | - <th style="width: 15%;" class="text-center"><translate>LABEL.DATA</translate></th> | |
98 | - <th style="width: 65%;" class="text-center"><translate>LABEL.JUSTIFICATIVA</translate></th> | |
99 | - <th style="width: 15%;" class="text-center"><translate>LABEL.USUARIO</translate></th> | |
100 | - </tr> | |
101 | - </thead> | |
102 | - <tbody> | |
103 | - <tr ng-hide="(contrato.justificativas && contrato.justificativas.length != 0)"> | |
104 | - <td colspan="4" class="text-center"><translate>LABEL.TABELA_VAZIA</translate></td> | |
105 | - </tr> | |
106 | - <tr ng-repeat="justificativa in contrato.justificativas"> | |
107 | - <td class="text-center">{{$index +1}}</td> | |
108 | - <td class="text-center">{{ justificativa.dataCriacao | date : 'dd/MM/yyyy' }}</td> | |
109 | - <td class="text-justify">{{ justificativa.descricao }}</td> | |
110 | - <td class="text-center">{{ justificativa.autor.username }}</td> | |
111 | - </tr> | |
112 | - </tbody> | |
113 | - </table> | |
114 | - </div><!-- .painel --> | |
115 | - </div><!-- .col --> | |
116 | - </div> <!-- .row --> | |
117 | - </fieldset><!-- .fieldset --> | |
118 | 68 | </div><!-- /.page-content --> |
119 | 69 | </ng-form> |
120 | 70 | \ No newline at end of file | ... | ... |
cit-contratos-web/src/main/webapp/html/contrato/dialog_envolvido.html
1 | 1 | <ng-form name="formDialogEnvolvido" autocomplete="off"> |
2 | 2 | <div class="modal-header"> |
3 | - <button title="{{$translate.instant('LABEL.ADICIONAR')}}" alt="{{$translate.instant('LABEL.ADICIONAR')}}" | |
4 | - ng-click="adicionarContratoEnvolvido(formDialogEnvolvido, false)" ng-if="editEnvolvido" class="btn btn-clear" type="button"> | |
5 | - <i class="fa fa-save green"></i> | |
6 | - <translate>LABEL.ADICIONAR</translate> | |
7 | - </button> | |
8 | - <button title="{{$translate.instant('LABEL.ADICIONAR_NOVO')}}" alt="{{$translate.instant('LABEL.ADICIONAR_NOVO')}}" | |
9 | - ng-click="adicionarContratoEnvolvido(formDialogEnvolvido, true)" ng-if="editEnvolvido" class="btn btn-clear" type="button"> | |
10 | - <i class="fa fa-save green"></i> | |
11 | - <translate>LABEL.ADICIONAR_CONTINUAR</translate> | |
12 | - </button> | |
13 | - | |
14 | - <button title="{{$translate.instant('LABEL.FECHAR')}}" alt="{{$translate.instant('LABEL.FECHAR')}}" | |
15 | - ng-click="$dismiss('cancel');" class="btn btn-clear" type="button"> | |
16 | - <i class="fa fa-times red"></i> | |
17 | - <translate>LABEL.FECHAR</translate> | |
18 | - </button> | |
3 | + <button title="{{$translate.instant('LABEL.ADICIONAR')}}" alt="{{$translate.instant('LABEL.ADICIONAR')}}" | |
4 | + ng-click="adicionarContratoEnvolvido(formDialogEnvolvido, false)" ng-if="editEnvolvido" class="btn btn-clear" type="button"> | |
5 | + <i class="fa fa-save green"></i> | |
6 | + <translate>LABEL.ADICIONAR</translate> | |
7 | + </button> | |
8 | + <button title="{{$translate.instant('LABEL.ADICIONAR_NOVO')}}" alt="{{$translate.instant('LABEL.ADICIONAR_NOVO')}}" | |
9 | + ng-click="adicionarContratoEnvolvido(formDialogEnvolvido, true)" ng-show="editEnvolvido && !hasAlteracaoEnvolvido" class="btn btn-clear" type="button"> | |
10 | + <i class="fa fa-save green"></i> | |
11 | + <translate>LABEL.ADICIONAR_CONTINUAR</translate> | |
12 | + </button> | |
13 | + | |
14 | + <button title="{{$translate.instant('LABEL.FECHAR')}}" alt="{{$translate.instant('LABEL.FECHAR')}}" | |
15 | + ng-click="closeModalContratoEvolvido(formDialogEnvolvido);" class="btn btn-clear" type="button"> | |
16 | + <i class="fa fa-times red"></i> | |
17 | + <translate>LABEL.FECHAR</translate> | |
18 | + </button> | |
19 | 19 | </div> |
20 | 20 | |
21 | 21 | <div class="modal-body"> |
22 | - <h2 class="title-modal"><translate>LABEL.ENVOLVIDO</translate></h2> | |
23 | - <p ng-show="editEnvolvido"> | |
24 | - <small>( <span class="red">*</span> ) <translate>LABEL.CAMPOS_OBRIGATORIOS</translate></small> | |
25 | - </p> | |
26 | - | |
22 | + <h2 class="title-modal"><translate>LABEL.ENVOLVIDO</translate></h2> | |
23 | + <p ng-show="editEnvolvido"> | |
24 | + <small>( <span class="red">*</span> ) <translate>LABEL.CAMPOS_OBRIGATORIOS</translate></small> | |
25 | + </p> | |
26 | + | |
27 | 27 | <fieldset> |
28 | 28 | <div class="row"> |
29 | - <div class="col-sm-4"> | |
30 | - <auto-complete ng-find="findEnvolvido(value)" ng-item="item.pessoa.nome" | |
31 | - ng-id="contratoEnvolvidoTemp.envolvido" ng-label="LABEL.NOME_ENVOLVIDO" ng-model="contratoEnvolvidoTemp.envolvido" | |
32 | - ng-disabled="!edit" form="formDialogEnvolvido" ng-obrigatorio="true"/> | |
29 | + <div class="col-sm-6"> | |
30 | + <auto-complete ng-find="findEnvolvido(value)" ng-item="item.pessoa.nome" ng-disabled="!editEnvolvido" | |
31 | + ng-id="contratoEnvolvidoTemp.envolvido" ng-label="LABEL.NOME_ENVOLVIDO" ng-model="contratoEnvolvidoTemp.envolvido" | |
32 | + ng-disabled="!edit" form="formDialogEnvolvido" ng-obrigatorio="true" /> | |
33 | 33 | </div> |
34 | - | |
35 | - <div class="col-sm-4"> | |
36 | - <label-input ng-type="text" ng-id="contratoEnvolvidoTemp.envolvido.matricula" ng-label="LABEL.MATRICULA" | |
37 | - ng-model="contratoEnvolvidoTemp.envolvido.matricula" ng-custom-maxlength="30" form="formDialogEnvolvido" | |
34 | + | |
35 | + <div class="col-sm-3"> | |
36 | + <label-input ng-type="text" ng-id="contratoEnvolvidoTemp.envolvido.matricula" ng-label="LABEL.MATRICULA" | |
37 | + ng-model="contratoEnvolvidoTemp.envolvido.matricula" ng-custom-maxlength="30" form="formDialogEnvolvido" | |
38 | 38 | ng-disabled="true" ng-obrigatorio="false"/> |
39 | 39 | </div><!-- .col-sm-4 --> |
40 | - | |
41 | - <div class="col-sm-4"> | |
42 | - <label-select ng-label="LABEL.PAPEL" ng-id="contratoEnvolvidoTemp.dominioPapelEnvolvidoContrato" | |
43 | - ng-model="contratoEnvolvidoTemp.dominioPapelEnvolvidoContrato" ng-list="dominioPapelEnvolvidoList" | |
44 | - form="formDialogEnvolvido" ng-obrigatorio="editEnvolvido" ng-disabled="!editEnvolvido" | |
40 | + | |
41 | + <div class="col-sm-3" > | |
42 | + <label-select ng-label="LABEL.PAPEL" ng-id="contratoEnvolvidoTemp.dominioPapelEnvolvidoContrato" | |
43 | + ng-model="contratoEnvolvidoTemp.dominioPapelEnvolvidoContrato" ng-list="dominioPapelEnvolvidoList" | |
44 | + form="formDialogEnvolvido" ng-obrigatorio="editEnvolvido && dominioPapelEnvolvidoList.length > 0" | |
45 | + ng-disabled="!editEnvolvido || dominioPapelEnvolvidoList.length == 0" | |
45 | 46 | ng-custom-options="dominioPapelEnvolvido.originalElement as dominioPapelEnvolvido.descricao for dominioPapelEnvolvido" |
46 | 47 | track-by="track by dominioPapelEnvolvido.id"/> |
47 | 48 | </div><!-- .col-sm-4 --> |
48 | 49 | </div><!-- .row --> |
50 | + </fieldset> | |
51 | + <fieldset ng-if="(contrato.id && hasAlteracaoEnvolvido) || (contrato.id && contratoEnvolvidoTemp.justificativas.length > 0)"> | |
52 | + <div class="row"> | |
53 | + <div class="col-sm-12"> | |
54 | + <h2 class="title-modal"><translate>LABEL.JUSTIFICATIVA</translate></h2> | |
55 | + <p ng-show="editEnvolvido"> | |
56 | + <small>( <span class="red">*</span> ) <translate>LABEL.CAMPOS_OBRIGATORIOS</translate></small> | |
57 | + </p> | |
58 | + </div> | |
59 | + </div> | |
60 | + <div class="row"> | |
61 | + <div class="col-sm-12"> | |
62 | + <label-text-area ng-id="justificativaTemp.descricao" ng-label="LABEL.JUSTIFICATIVA" ng-hide="!editEnvolvido" | |
63 | + form="formDialogJustificativa" rows="3" ng-custom-maxlength="500" | |
64 | + ng-model="justificativaTemp.descricao" ></label-text-area> | |
65 | + </div> | |
66 | + </div><!-- .row --> | |
67 | + <div class="row"> | |
68 | + <div class="col-sm-4"> | |
69 | + <button title="{{$translate.instant('CONTRATOS.LABEL.ADICIONAR_JUSTIFICATIVA')}}" alt="{{$translate.instant('CONTRATOS.LABEL.ADICIONAR_JUSTIFICATIVA')}}" | |
70 | + ng-click="adicionarJustificativa(formDialogEnvolvido)" ng-hide="!editEnvolvido" class="btn btn-success" type="button"> | |
71 | + <i class="fa fa-save white"></i> | |
72 | + <translate>CONTRATOS.LABEL.ADICIONAR_JUSTIFICATIVA</translate> | |
73 | + </button> | |
74 | + </div> | |
75 | + </div><!-- .row --> | |
76 | + </br> | |
77 | + <div class="row"> | |
78 | + <div class="col-sm-12"> | |
79 | + <table class="table table-bordered table-striped"> | |
80 | + <thead> | |
81 | + <tr> | |
82 | + <th style="width: 5%;" class="text-center">#</th> | |
83 | + <th style="width: 15%;" class="text-center"><translate>LABEL.DATA</translate></th> | |
84 | + <th style="width: 65%;" class="text-center"><translate>LABEL.JUSTIFICATIVA</translate></th> | |
85 | + <th style="width: 15%;" class="text-center"><translate>LABEL.USUARIO</translate></th> | |
86 | + </tr> | |
87 | + </thead> | |
88 | + <tbody> | |
89 | + <tr ng-hide="(contratoEnvolvidoTemp.justificativas && contratoEnvolvidoTemp.justificativas.length != 0)"> | |
90 | + <td colspan="4" class="text-center"><translate>LABEL.TABELA_VAZIA</translate></td> | |
91 | + </tr> | |
92 | + <tr ng-repeat="justificativa in contratoEnvolvidoTemp.justificativas"> | |
93 | + <td class="text-center">{{$index +1}}</td> | |
94 | + <td class="text-center">{{ justificativa.dataCriacao | date : 'dd/MM/yyyy' }}</td> | |
95 | + <td class="text-justify">{{ justificativa.descricao }}</td> | |
96 | + <td class="text-center">{{ justificativa.autor.username }}</td> | |
97 | + </tr> | |
98 | + </tbody> | |
99 | + </table> | |
100 | + </div><!-- .<!-- .col --> | |
101 | + </div><!-- .<!-- .row --> | |
49 | 102 | </fieldset><!-- .fieldset --> |
50 | 103 | </div><!-- .<!-- .modal-body --> |
51 | -</ng-form> | |
52 | 104 | \ No newline at end of file |
105 | +</ng-form> | ... | ... |