Commit a45a7f92829c6d58ab95cce3d9feb7731372f8da
1 parent
a8d0db66
Exists in
master
[Redmine #4235]
Commit parcial.
Showing
8 changed files
with
543 additions
and
541 deletions
Show diff stats
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,35 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize; |
53 | 65 | * |
54 | 66 | */ |
55 | 67 | @Entity |
56 | -@Table(name="cnt_contrato") | |
68 | +@Table(name = "cnt_contrato") | |
57 | 69 | @JsonIgnoreProperties({ "valorTotalItens", "cnpjFornecedor", "valorTotalLiberado", "ultimaDataVigenciaFinal" }) |
58 | 70 | public class Contrato extends PersistentObjectAuditOrganizacao { |
59 | 71 | |
60 | - /** Atributo serialVersionUID. */ | |
61 | - private static final long serialVersionUID = 1L; | |
72 | + /** Atributo serialVersionUID. */ | |
73 | + private static final long serialVersionUID = 1L; | |
62 | 74 | |
63 | - /** Atributo id. */ | |
64 | - @Id | |
65 | - @GeneratedValue(strategy = GenerationType.AUTO) | |
66 | - @JsonView({ Views.GenericView.class }) | |
67 | - private Long id; | |
75 | + /** Atributo id. */ | |
76 | + @Id | |
77 | + @GeneratedValue(strategy = GenerationType.AUTO) | |
78 | + @JsonView({ Views.GenericView.class }) | |
79 | + private Long id; | |
68 | 80 | |
69 | 81 | /** Atributo programaAcao. */ |
70 | - @ManyToOne(fetch = FetchType.LAZY, optional=true) | |
82 | + @ManyToOne(fetch = FetchType.LAZY, optional = true) | |
71 | 83 | @JsonView({ ViewsContrato.ContratoEditView.class }) |
72 | 84 | private ProgramaAcao programaAcao; |
73 | 85 | |
74 | 86 | /** 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; | |
87 | + @Column(length = 30, nullable = false) | |
88 | + @JsonView({ ViewsContrato.ContratoEditView.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 }) | |
96 | + private Long numeroProcesso; | |
79 | 97 | |
80 | 98 | /** Atributo exercicio. */ |
81 | 99 | @Column(name = "exercicio", nullable = false) |
... | ... | @@ -86,108 +104,170 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
86 | 104 | |
87 | 105 | /** Atributo numeroAnoContrato. */ |
88 | 106 | @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}) | |
107 | + @JsonView({ ViewsContrato.ContratoEditView.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 }) | |
92 | 117 | private String numeroAnoContrato; |
93 | 118 | |
94 | 119 | /** Atributo numeroAnoContrato. */ |
95 | 120 | @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}) | |
121 | + @JsonView({ ViewsContrato.OrdemFornecimentoListView.class, | |
122 | + ViewsContrato.ContratoAutoCompleteView.class, | |
123 | + ViewsContrato.CronogramaExecucaoEditView.class, | |
124 | + ViewsContrato.RegistroOcorrenciaEditView.class, | |
125 | + ViewsContrato.NotificacaoContratoEditView.class, | |
126 | + ViewsContrato.EncerramentoContratoListView.class, | |
127 | + ViewsContrato.ContratoEventoEditView.class, | |
128 | + ViewsContrato.EventoApostilamentoEditView.class, | |
129 | + ViewsContrato.EventoPenalidadeEditView.class, | |
130 | + ViewsContrato.EventoRecebimentoObjetoEditView.class }) | |
99 | 131 | private String numeroAnoContratoFormatado; |
100 | 132 | |
101 | 133 | /** Atributo dominioTipoContrato. */ |
102 | 134 | @ManyToOne(fetch = FetchType.LAZY, optional = false) |
103 | - @JsonView({ ViewsContrato.ContratoEditView.class, ViewsContrato.ContratoAutoCompleteView.class, ViewsContrato.EncerramentoContratoEditView.class, ViewsContrato.RegistroOcorrenciaEditView.class }) | |
104 | - private Dominio dominioTipoContrato; | |
135 | + @JsonView({ ViewsContrato.ContratoEditView.class, | |
136 | + ViewsContrato.ContratoAutoCompleteView.class, | |
137 | + ViewsContrato.EncerramentoContratoEditView.class, | |
138 | + ViewsContrato.RegistroOcorrenciaEditView.class }) | |
139 | + private Dominio dominioTipoContrato; | |
105 | 140 | |
106 | - /** Atributo dominioTipoAquisicao. */ | |
141 | + /** Atributo dominioTipoAquisicao. */ | |
107 | 142 | @ManyToOne(fetch = FetchType.LAZY, optional = false) |
108 | - @JsonView({ ViewsContrato.ContratoEditView.class, ViewsContrato.ContratoAutoCompleteView.class, ViewsContrato.OrdemFornecimentoEditView.class, ViewsContrato.EncerramentoContratoEditView.class }) | |
109 | - private Dominio dominioTipoAquisicao; | |
143 | + @JsonView({ ViewsContrato.ContratoEditView.class, | |
144 | + ViewsContrato.ContratoAutoCompleteView.class, | |
145 | + ViewsContrato.OrdemFornecimentoEditView.class, | |
146 | + ViewsContrato.EncerramentoContratoEditView.class }) | |
147 | + private Dominio dominioTipoAquisicao; | |
110 | 148 | |
111 | - /** Atributo dataCelebracao. */ | |
149 | + /** Atributo dataCelebracao. */ | |
112 | 150 | @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; | |
151 | + @Temporal(TemporalType.TIMESTAMP) | |
152 | + @JsonSerialize(using = JsonCalendarSimpleDateSerializer.class) | |
153 | + @JsonDeserialize(using = JsonCalendarSimpleDateDeserializer.class) | |
154 | + @JsonView({ ViewsContrato.ContratoEditView.class, | |
155 | + ViewsContrato.ContratoAutoCompleteView.class, | |
156 | + ViewsContrato.EncerramentoContratoEditView.class }) | |
157 | + private Calendar dataCelebracao; | |
118 | 158 | |
119 | - /** Atributo dataVigenciaInicial. */ | |
159 | + /** Atributo dataVigenciaInicial. */ | |
120 | 160 | @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. */ | |
161 | + @Temporal(TemporalType.TIMESTAMP) | |
162 | + @JsonSerialize(using = JsonCalendarSimpleDateSerializer.class) | |
163 | + @JsonDeserialize(using = JsonCalendarSimpleDateDeserializer.class) | |
164 | + @JsonView({ ViewsContrato.ContratoEditView.class, | |
165 | + ViewsContrato.ContratoAutoCompleteView.class, | |
166 | + ViewsContrato.OrdemFornecimentoEditView.class, | |
167 | + ViewsContrato.CronogramaExecucaoEditView.class, | |
168 | + ViewsContrato.RegistroOcorrenciaEditView.class, | |
169 | + ViewsContrato.NotificacaoContratoEditView.class, | |
170 | + ViewsContrato.EncerramentoContratoEditView.class, | |
171 | + ViewsContrato.EventoApostilamentoEditView.class, | |
172 | + ViewsContrato.EventoRecebimentoObjetoEditView.class }) | |
173 | + private Calendar dataVigenciaInicial; | |
174 | + | |
175 | + /** Atributo dataVigenciaFinal. */ | |
130 | 176 | @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 | - | |
177 | + @Temporal(TemporalType.TIMESTAMP) | |
178 | + @JsonSerialize(using = JsonCalendarSimpleDateSerializer.class) | |
179 | + @JsonDeserialize(using = JsonCalendarSimpleDateDeserializer.class) | |
180 | + @JsonView({ ViewsContrato.ContratoEditView.class, | |
181 | + ViewsContrato.ContratoAutoCompleteView.class, | |
182 | + ViewsContrato.OrdemFornecimentoEditView.class, | |
183 | + ViewsContrato.CronogramaExecucaoEditView.class, | |
184 | + ViewsContrato.RegistroOcorrenciaEditView.class, | |
185 | + ViewsContrato.NotificacaoContratoEditView.class, | |
186 | + ViewsContrato.EncerramentoContratoEditView.class, | |
187 | + ViewsContrato.EventoApostilamentoEditView.class, | |
188 | + ViewsContrato.EventoRecebimentoObjetoEditView.class }) | |
189 | + private Calendar dataVigenciaFinal; | |
190 | + | |
139 | 191 | @Transient |
140 | 192 | @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 }) | |
193 | + @JsonDeserialize(using = JsonCalendarSimpleDateDeserializer.class) | |
194 | + @JsonView({ ViewsContrato.ContratoEditView.class, | |
195 | + ViewsContrato.ContratoAutoCompleteView.class, | |
196 | + ViewsContrato.OrdemFornecimentoEditView.class, | |
197 | + ViewsContrato.CronogramaExecucaoEditView.class, | |
198 | + ViewsContrato.RegistroOcorrenciaEditView.class, | |
199 | + ViewsContrato.NotificacaoContratoEditView.class, | |
200 | + ViewsContrato.EncerramentoContratoEditView.class, | |
201 | + ViewsContrato.EventoApostilamentoEditView.class, | |
202 | + ViewsContrato.EventoRecebimentoObjetoEditView.class }) | |
145 | 203 | private Calendar dataUltimaVigenciaFinal; |
146 | 204 | |
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; | |
205 | + /** Atributo dominioSituacaoAtual. */ | |
206 | + @ManyToOne(fetch = FetchType.LAZY, optional = false) | |
207 | + @JsonView({ ViewsContrato.ContratoEditView.class, | |
208 | + ViewsContrato.ContratoAutoCompleteView.class, | |
209 | + ViewsContrato.OrdemFornecimentoEditView.class, | |
210 | + ViewsContrato.RegistroOcorrenciaEditView.class, | |
211 | + ViewsContrato.ContratoEventoEditView.class, | |
212 | + ViewsContrato.EventoApostilamentoEditView.class }) | |
213 | + private Dominio dominioSituacaoAtual; | |
214 | + | |
215 | + /** Atributo fornecedor. */ | |
216 | + @ManyToOne(fetch = FetchType.LAZY, optional = false) | |
217 | + @JsonView({ ViewsContrato.ContratoEditView.class, | |
218 | + ViewsContrato.ContratoAutoCompleteView.class, | |
219 | + ViewsContrato.OrdemFornecimentoEditView.class, | |
220 | + ViewsContrato.CronogramaExecucaoEditView.class, | |
221 | + ViewsContrato.RegistroOcorrenciaEditView.class, | |
222 | + ViewsContrato.NotificacaoContratoEditView.class, | |
223 | + ViewsContrato.EncerramentoContratoListView.class, | |
224 | + ViewsContrato.EventoApostilamentoEditView.class, | |
225 | + ViewsContrato.EventoPenalidadeEditView.class }) | |
226 | + private Fornecedor fornecedor; | |
159 | 227 | |
160 | 228 | /** Atributo disponivel. */ |
161 | 229 | @JsonView({ ViewsContrato.ContratoEditView.class }) |
162 | 230 | private boolean renovavel; |
163 | 231 | |
164 | 232 | /** 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; | |
233 | + @JsonView({ ViewsContrato.ContratoEditView.class, | |
234 | + ViewsContrato.ContratoAutoCompleteView.class, | |
235 | + ViewsContrato.EncerramentoContratoEditView.class, | |
236 | + ViewsContrato.EventoApostilamentoEditView.class, | |
237 | + ViewsContrato.EventoRecebimentoObjetoEditView.class }) | |
238 | + @Column(length = 1024, nullable = false) | |
239 | + private String objetoContratacao; | |
240 | + | |
241 | + /** Atributo valorContrato. */ | |
242 | + @Column(precision = 20, scale = 4) | |
243 | + @JsonDeserialize(using = MoneyDeserializer.class) | |
244 | + @JsonView({ ViewsContrato.ContratoEditView.class, | |
245 | + ViewsContrato.ContratoAutoCompleteView.class, | |
246 | + ViewsContrato.CronogramaExecucaoEditView.class, | |
247 | + ViewsContrato.EncerramentoContratoEditView.class, | |
248 | + ViewsContrato.RegistroOcorrenciaEditView.class, | |
249 | + ViewsContrato.ContratoEventoEditView.class }) | |
250 | + private BigDecimal valorContrato; | |
251 | + | |
252 | + @Transient | |
253 | + @JsonView({ ViewsContrato.ContratoEditView.class, | |
254 | + ViewsContrato.ContratoAutoCompleteView.class, | |
255 | + ViewsContrato.CronogramaExecucaoEditView.class, | |
256 | + ViewsContrato.EncerramentoContratoEditView.class, | |
257 | + ViewsContrato.RegistroOcorrenciaEditView.class, | |
258 | + ViewsContrato.ContratoEventoEditView.class }) | |
259 | + private BigDecimal valorTotalContrato; | |
180 | 260 | |
181 | 261 | /** Atributo dominioFormaPagamentoContrato. */ |
182 | - @ManyToOne(fetch = FetchType.LAZY, optional=false) | |
183 | - @JoinColumn(name = "formapagamentocontrato_id") | |
184 | - @JsonView({ ViewsContrato.ContratoEditView.class }) | |
185 | - private Dominio dominioFormaPagamentoContrato; | |
262 | + @ManyToOne(fetch = FetchType.LAZY, optional = false) | |
263 | + @JoinColumn(name = "formapagamentocontrato_id") | |
264 | + @JsonView({ ViewsContrato.ContratoEditView.class }) | |
265 | + private Dominio dominioFormaPagamentoContrato; | |
186 | 266 | |
187 | 267 | /** Atributo numeroParcela. */ |
188 | 268 | @JsonView({ ViewsContrato.ContratoEditView.class }) |
189 | 269 | private Long numeroParcela; |
190 | - | |
270 | + | |
191 | 271 | /** Atributo ordensFornecimento. */ |
192 | 272 | @OneToMany(fetch = FetchType.LAZY, mappedBy = "contrato", cascade = CascadeType.ALL) |
193 | 273 | @JsonView({ ViewsContrato.ContratoEditView.class }) |
... | ... | @@ -205,74 +285,72 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
205 | 285 | |
206 | 286 | /** Atributo ctrtEmpenhos. */ |
207 | 287 | @OneToMany(fetch = FetchType.LAZY, mappedBy = "contratoAditivo", cascade = CascadeType.ALL, targetEntity = EventoAditivo.class) |
208 | - @JsonView({ ViewsContrato.EventoAditivoEditView.class, ViewsContrato.ContratoEventoEditView.class, ViewsContrato.ContratoEditView.class }) | |
288 | + @JsonView({ ViewsContrato.EventoAditivoEditView.class, | |
289 | + ViewsContrato.ContratoEventoEditView.class, | |
290 | + ViewsContrato.ContratoEditView.class }) | |
209 | 291 | private Collection<EventoAditivo> aditivos; |
210 | 292 | |
211 | - /** Atributo valorGarantia. */ | |
212 | - @Column(precision = 20, scale = 4) | |
213 | - @JsonDeserialize(using = MoneyDeserializer.class) | |
214 | - @JsonView({ ViewsContrato.ContratoEditView.class }) | |
215 | - private BigDecimal valorTotalEmpenhado; | |
293 | + /** Atributo valorGarantia. */ | |
294 | + @Column(precision = 20, scale = 4) | |
295 | + @JsonDeserialize(using = MoneyDeserializer.class) | |
296 | + @JsonView({ ViewsContrato.ContratoEditView.class }) | |
297 | + private BigDecimal valorTotalEmpenhado; | |
216 | 298 | |
217 | 299 | /** Atributo numeroAnoEditalLicitacao. */ |
218 | - @Column(length = 10, nullable=false) | |
219 | - @JsonView({ ViewsContrato.ContratoEditView.class }) | |
220 | - private String numeroAnoEditalLicitacao; | |
300 | + @Column(length = 10, nullable = false) | |
301 | + @JsonView({ ViewsContrato.ContratoEditView.class }) | |
302 | + private String numeroAnoEditalLicitacao; | |
221 | 303 | |
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; | |
304 | + /** Atributo dataPublicacaoLicitacao. */ | |
305 | + @Temporal(TemporalType.TIMESTAMP) | |
306 | + @JsonSerialize(using = JsonCalendarSimpleDateSerializer.class) | |
307 | + @JsonDeserialize(using = JsonCalendarSimpleDateDeserializer.class) | |
308 | + @JsonView({ ViewsContrato.ContratoEditView.class }) | |
309 | + private Calendar dataPublicacaoLicitacao; | |
228 | 310 | |
229 | 311 | /** Atributo dominioModalidadeLicitacao. */ |
230 | - @ManyToOne(fetch = FetchType.LAZY, optional=false) | |
231 | - @JsonView({ ViewsContrato.ContratoEditView.class }) | |
232 | - private Dominio dominioModalidadeLicitacao; | |
312 | + @ManyToOne(fetch = FetchType.LAZY, optional = false) | |
313 | + @JsonView({ ViewsContrato.ContratoEditView.class }) | |
314 | + private Dominio dominioModalidadeLicitacao; | |
233 | 315 | |
234 | 316 | /** Atributo dominioTipoLicitacao. */ |
235 | - @ManyToOne(fetch = FetchType.LAZY, optional=true) | |
236 | - @JsonView({ ViewsContrato.ContratoEditView.class }) | |
237 | - private Dominio dominioTipoLicitacao; | |
317 | + @ManyToOne(fetch = FetchType.LAZY, optional = true) | |
318 | + @JsonView({ ViewsContrato.ContratoEditView.class }) | |
319 | + private Dominio dominioTipoLicitacao; | |
238 | 320 | |
239 | 321 | /** Atributo ctrtEmpenhos. */ |
240 | 322 | @OneToMany(fetch = FetchType.LAZY, mappedBy = "contrato", cascade = CascadeType.ALL) |
241 | 323 | @JsonView({ ViewsContrato.ContratoEditView.class, ViewsContrato.CronogramaExecucaoEditView.class }) |
242 | 324 | private Collection<ContratoItem> ctrtItens; |
243 | 325 | |
244 | - /** Atributo garantias. ctrtEnvolvidos*/ | |
326 | + /** Atributo garantias. ctrtEnvolvidos */ | |
245 | 327 | @OneToMany(fetch = FetchType.LAZY, mappedBy = "contrato", cascade = CascadeType.ALL) |
246 | 328 | @JsonView({ ViewsContrato.ContratoEditView.class }) |
247 | 329 | private Collection<ContratoEnvolvido> ctrtEnvolvidos; |
248 | 330 | |
249 | - @OneToMany(fetch = FetchType.LAZY, mappedBy = "contrato", cascade = CascadeType.ALL) | |
331 | + /** Atributo dominioModalidadeGarantia. */ | |
332 | + @ManyToOne(fetch = FetchType.LAZY) | |
250 | 333 | @JsonView({ ViewsContrato.ContratoEditView.class }) |
251 | - private Collection<ContratoEnvolvidoJustificativa> justificativas; | |
252 | - | |
253 | - /** Atributo dominioModalidadeGarantia. */ | |
254 | - @ManyToOne(fetch = FetchType.LAZY) | |
255 | - @JsonView({ ViewsContrato.ContratoEditView.class }) | |
256 | - private Dominio dominioModalidadeGarantia; | |
334 | + private Dominio dominioModalidadeGarantia; | |
257 | 335 | |
258 | 336 | /** 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; | |
337 | + @Temporal(TemporalType.TIMESTAMP) | |
338 | + @JsonSerialize(using = JsonCalendarSimpleDateSerializer.class) | |
339 | + @JsonDeserialize(using = JsonCalendarSimpleDateDeserializer.class) | |
340 | + @JsonView({ ViewsContrato.ContratoEditView.class }) | |
341 | + private Calendar dataVigenciaGarantia; | |
342 | + | |
343 | + /** Atributo valorGarantia. */ | |
344 | + @Column(precision = 20, scale = 4) | |
345 | + @JsonDeserialize(using = MoneyDeserializer.class) | |
346 | + @JsonView({ ViewsContrato.ContratoEditView.class }) | |
347 | + private BigDecimal valorGarantia; | |
348 | + | |
349 | + /** Atributo percentual. */ | |
350 | + @Column(precision = 20, scale = 4) | |
351 | + @JsonDeserialize(using = MoneyDeserializer.class) | |
352 | + @JsonView({ ViewsContrato.ContratoEditView.class }) | |
353 | + private BigDecimal percentualGarantia; | |
276 | 354 | |
277 | 355 | /** Atributo documentos. */ |
278 | 356 | @OneToMany(fetch = FetchType.LAZY, mappedBy = "contrato", cascade = CascadeType.ALL, orphanRemoval = true) |
... | ... | @@ -294,7 +372,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
294 | 372 | return id; |
295 | 373 | } |
296 | 374 | |
297 | - | |
298 | 375 | /** |
299 | 376 | * Define o valor do atributo <code>id</code>. |
300 | 377 | * |
... | ... | @@ -305,7 +382,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
305 | 382 | this.id = id; |
306 | 383 | } |
307 | 384 | |
308 | - | |
309 | 385 | /** |
310 | 386 | * Retorna o valor do atributo <code>programaAcao</code> |
311 | 387 | * |
... | ... | @@ -316,7 +392,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
316 | 392 | return programaAcao; |
317 | 393 | } |
318 | 394 | |
319 | - | |
320 | 395 | /** |
321 | 396 | * Define o valor do atributo <code>programaAcao</code>. |
322 | 397 | * |
... | ... | @@ -327,7 +402,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
327 | 402 | this.programaAcao = programaAcao; |
328 | 403 | } |
329 | 404 | |
330 | - | |
331 | 405 | /** |
332 | 406 | * Retorna o valor do atributo <code>numeroProcesso</code> |
333 | 407 | * |
... | ... | @@ -338,7 +412,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
338 | 412 | return numeroProcesso; |
339 | 413 | } |
340 | 414 | |
341 | - | |
342 | 415 | /** |
343 | 416 | * Define o valor do atributo <code>numeroProcesso</code>. |
344 | 417 | * |
... | ... | @@ -349,7 +422,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
349 | 422 | this.numeroProcesso = numeroProcesso; |
350 | 423 | } |
351 | 424 | |
352 | - | |
353 | 425 | /** |
354 | 426 | * Retorna o valor do atributo <code>exercicio</code> |
355 | 427 | * |
... | ... | @@ -360,7 +432,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
360 | 432 | return exercicio; |
361 | 433 | } |
362 | 434 | |
363 | - | |
364 | 435 | /** |
365 | 436 | * Define o valor do atributo <code>exercicio</code>. |
366 | 437 | * |
... | ... | @@ -377,6 +448,7 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
377 | 448 | * @return <code>String</code> |
378 | 449 | */ |
379 | 450 | public String getNumeroAnoContratoFormatado() { |
451 | + | |
380 | 452 | if (this.numeroAnoContrato != null && this.numeroAnoContrato.length() == 13) { |
381 | 453 | this.numeroAnoContratoFormatado = numeroAnoContrato.substring(0, 9) + "/" + numeroAnoContrato.substring(9, 13); |
382 | 454 | } |
... | ... | @@ -393,7 +465,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
393 | 465 | return numeroAnoContrato; |
394 | 466 | } |
395 | 467 | |
396 | - | |
397 | 468 | /** |
398 | 469 | * Define o valor do atributo <code>numeroAnoContrato</code>. |
399 | 470 | * |
... | ... | @@ -404,7 +475,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
404 | 475 | this.numeroAnoContrato = numeroAnoContrato; |
405 | 476 | } |
406 | 477 | |
407 | - | |
408 | 478 | /** |
409 | 479 | * Retorna o valor do atributo <code>dominioTipoContrato</code> |
410 | 480 | * |
... | ... | @@ -415,7 +485,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
415 | 485 | return dominioTipoContrato; |
416 | 486 | } |
417 | 487 | |
418 | - | |
419 | 488 | /** |
420 | 489 | * Define o valor do atributo <code>dominioTipoContrato</code>. |
421 | 490 | * |
... | ... | @@ -426,7 +495,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
426 | 495 | this.dominioTipoContrato = dominioTipoContrato; |
427 | 496 | } |
428 | 497 | |
429 | - | |
430 | 498 | /** |
431 | 499 | * Retorna o valor do atributo <code>dominioTipoAquisicao</code> |
432 | 500 | * |
... | ... | @@ -437,7 +505,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
437 | 505 | return dominioTipoAquisicao; |
438 | 506 | } |
439 | 507 | |
440 | - | |
441 | 508 | /** |
442 | 509 | * Define o valor do atributo <code>dominioTipoAquisicao</code>. |
443 | 510 | * |
... | ... | @@ -448,7 +515,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
448 | 515 | this.dominioTipoAquisicao = dominioTipoAquisicao; |
449 | 516 | } |
450 | 517 | |
451 | - | |
452 | 518 | /** |
453 | 519 | * Retorna o valor do atributo <code>dataCelebracao</code> |
454 | 520 | * |
... | ... | @@ -459,7 +525,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
459 | 525 | return dataCelebracao; |
460 | 526 | } |
461 | 527 | |
462 | - | |
463 | 528 | /** |
464 | 529 | * Define o valor do atributo <code>dataCelebracao</code>. |
465 | 530 | * |
... | ... | @@ -470,7 +535,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
470 | 535 | this.dataCelebracao = dataCelebracao; |
471 | 536 | } |
472 | 537 | |
473 | - | |
474 | 538 | /** |
475 | 539 | * Retorna o valor do atributo <code>dataVigenciaInicial</code> |
476 | 540 | * |
... | ... | @@ -481,7 +545,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
481 | 545 | return dataVigenciaInicial; |
482 | 546 | } |
483 | 547 | |
484 | - | |
485 | 548 | /** |
486 | 549 | * Define o valor do atributo <code>dataVigenciaInicial</code>. |
487 | 550 | * |
... | ... | @@ -492,7 +555,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
492 | 555 | this.dataVigenciaInicial = dataVigenciaInicial; |
493 | 556 | } |
494 | 557 | |
495 | - | |
496 | 558 | /** |
497 | 559 | * Retorna o valor do atributo <code>dataVigenciaFinal</code> |
498 | 560 | * |
... | ... | @@ -503,7 +565,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
503 | 565 | return dataVigenciaFinal; |
504 | 566 | } |
505 | 567 | |
506 | - | |
507 | 568 | /** |
508 | 569 | * Define o valor do atributo <code>dataVigenciaFinal</code>. |
509 | 570 | * |
... | ... | @@ -514,13 +575,13 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
514 | 575 | this.dataVigenciaFinal = dataVigenciaFinal; |
515 | 576 | } |
516 | 577 | |
517 | - | |
518 | 578 | /** |
519 | 579 | * Retorna o valor do atributo <code>dataUltimaVigenciaFinal</code> |
520 | 580 | * |
521 | 581 | * @return <code>Calendar</code> |
522 | 582 | */ |
523 | 583 | public Calendar getDataUltimaVigenciaFinal() { |
584 | + | |
524 | 585 | if (this.aditivos == null || this.aditivos.isEmpty()) { |
525 | 586 | return this.dataVigenciaFinal; |
526 | 587 | } else { |
... | ... | @@ -534,18 +595,16 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
534 | 595 | return this.dataUltimaVigenciaFinal; |
535 | 596 | } |
536 | 597 | |
537 | - | |
538 | 598 | /** |
539 | 599 | * Define o valor do atributo <code>dataUltimaVigenciaFinal</code>. |
540 | 600 | * |
541 | - * @param dataUltimaVigenciaFinal | |
601 | + * @param dataUltimaVigenciaFinal | |
542 | 602 | */ |
543 | 603 | public void setDataUltimaVigenciaFinal(Calendar dataUltimaVigenciaFinal) { |
544 | - | |
604 | + | |
545 | 605 | this.dataUltimaVigenciaFinal = dataUltimaVigenciaFinal; |
546 | 606 | } |
547 | 607 | |
548 | - | |
549 | 608 | /** |
550 | 609 | * Retorna o valor do atributo <code>dominioSituacaoAtual</code> |
551 | 610 | * |
... | ... | @@ -556,7 +615,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
556 | 615 | return dominioSituacaoAtual; |
557 | 616 | } |
558 | 617 | |
559 | - | |
560 | 618 | /** |
561 | 619 | * Define o valor do atributo <code>dominioSituacaoAtual</code>. |
562 | 620 | * |
... | ... | @@ -567,7 +625,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
567 | 625 | this.dominioSituacaoAtual = dominioSituacaoAtual; |
568 | 626 | } |
569 | 627 | |
570 | - | |
571 | 628 | /** |
572 | 629 | * Retorna o valor do atributo <code>fornecedor</code> |
573 | 630 | * |
... | ... | @@ -578,7 +635,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
578 | 635 | return fornecedor; |
579 | 636 | } |
580 | 637 | |
581 | - | |
582 | 638 | /** |
583 | 639 | * Define o valor do atributo <code>fornecedor</code>. |
584 | 640 | * |
... | ... | @@ -589,7 +645,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
589 | 645 | this.fornecedor = fornecedor; |
590 | 646 | } |
591 | 647 | |
592 | - | |
593 | 648 | /** |
594 | 649 | * Retorna o valor do atributo <code>renovavel</code> |
595 | 650 | * |
... | ... | @@ -600,7 +655,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
600 | 655 | return renovavel; |
601 | 656 | } |
602 | 657 | |
603 | - | |
604 | 658 | /** |
605 | 659 | * Define o valor do atributo <code>renovavel</code>. |
606 | 660 | * |
... | ... | @@ -611,7 +665,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
611 | 665 | this.renovavel = renovavel; |
612 | 666 | } |
613 | 667 | |
614 | - | |
615 | 668 | /** |
616 | 669 | * Retorna o valor do atributo <code>objetoContratacao</code> |
617 | 670 | * |
... | ... | @@ -622,7 +675,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
622 | 675 | return objetoContratacao; |
623 | 676 | } |
624 | 677 | |
625 | - | |
626 | 678 | /** |
627 | 679 | * Define o valor do atributo <code>objetoContratacao</code>. |
628 | 680 | * |
... | ... | @@ -633,8 +685,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
633 | 685 | this.objetoContratacao = objetoContratacao; |
634 | 686 | } |
635 | 687 | |
636 | - | |
637 | - | |
638 | 688 | /** |
639 | 689 | * Retorna o valor do atributo <code>valorContrato</code> |
640 | 690 | * |
... | ... | @@ -645,8 +695,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
645 | 695 | return valorContrato; |
646 | 696 | } |
647 | 697 | |
648 | - | |
649 | - | |
650 | 698 | /** |
651 | 699 | * Define o valor do atributo <code>valorContrato</code>. |
652 | 700 | * |
... | ... | @@ -656,13 +704,14 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
656 | 704 | |
657 | 705 | this.valorContrato = valorContrato; |
658 | 706 | } |
659 | - | |
707 | + | |
660 | 708 | /** |
661 | 709 | * Retorna o valor do atributo <code>valorTotalContrato</code> |
662 | 710 | * |
663 | 711 | * @return <code>BigDecimal</code> |
664 | 712 | */ |
665 | 713 | public BigDecimal getValorTotalContrato() { |
714 | + | |
666 | 715 | if (this.aditivos == null || this.aditivos.isEmpty()) { |
667 | 716 | return this.valorContrato; |
668 | 717 | } else { |
... | ... | @@ -677,18 +726,17 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
677 | 726 | } |
678 | 727 | return this.valorTotalContrato; |
679 | 728 | } |
680 | - | |
729 | + | |
681 | 730 | /** |
682 | 731 | * Define o valor do atributo <code>valorTotalContrato</code>. |
683 | 732 | * |
684 | - * @param valorTotalContrato | |
733 | + * @param valorTotalContrato | |
685 | 734 | */ |
686 | 735 | public void setValorTotalContrato(BigDecimal valorTotalContrato) { |
687 | - | |
736 | + | |
688 | 737 | this.valorTotalContrato = valorTotalContrato; |
689 | 738 | } |
690 | 739 | |
691 | - | |
692 | 740 | /** |
693 | 741 | * Retorna o valor do atributo <code>dominioFormaPagamentoContrato</code> |
694 | 742 | * |
... | ... | @@ -699,8 +747,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
699 | 747 | return dominioFormaPagamentoContrato; |
700 | 748 | } |
701 | 749 | |
702 | - | |
703 | - | |
704 | 750 | /** |
705 | 751 | * Define o valor do atributo <code>dominioFormaPagamentoContrato</code>. |
706 | 752 | * |
... | ... | @@ -711,8 +757,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
711 | 757 | this.dominioFormaPagamentoContrato = dominioFormaPagamentoContrato; |
712 | 758 | } |
713 | 759 | |
714 | - | |
715 | - | |
716 | 760 | /** |
717 | 761 | * Retorna o valor do atributo <code>numeroParcela</code> |
718 | 762 | * |
... | ... | @@ -723,8 +767,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
723 | 767 | return numeroParcela; |
724 | 768 | } |
725 | 769 | |
726 | - | |
727 | - | |
728 | 770 | /** |
729 | 771 | * Define o valor do atributo <code>numeroParcela</code>. |
730 | 772 | * |
... | ... | @@ -735,8 +777,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
735 | 777 | this.numeroParcela = numeroParcela; |
736 | 778 | } |
737 | 779 | |
738 | - | |
739 | - | |
740 | 780 | /** |
741 | 781 | * Retorna o valor do atributo <code>ctrtValoresPagamento</code> |
742 | 782 | * |
... | ... | @@ -747,8 +787,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
747 | 787 | return ctrtValoresPagamento; |
748 | 788 | } |
749 | 789 | |
750 | - | |
751 | - | |
752 | 790 | /** |
753 | 791 | * Define o valor do atributo <code>ctrtValoresPagamento</code>. |
754 | 792 | * |
... | ... | @@ -759,7 +797,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
759 | 797 | this.ctrtValoresPagamento = ctrtValoresPagamento; |
760 | 798 | } |
761 | 799 | |
762 | - | |
763 | 800 | /** |
764 | 801 | * Retorna o valor do atributo <code>ctrtEmpenhos</code> |
765 | 802 | * |
... | ... | @@ -770,7 +807,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
770 | 807 | return ctrtEmpenhos; |
771 | 808 | } |
772 | 809 | |
773 | - | |
774 | 810 | /** |
775 | 811 | * Define o valor do atributo <code>ctrtEmpenhos</code>. |
776 | 812 | * |
... | ... | @@ -781,8 +817,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
781 | 817 | this.ctrtEmpenhos = ctrtEmpenhos; |
782 | 818 | } |
783 | 819 | |
784 | - | |
785 | - | |
786 | 820 | /** |
787 | 821 | * Retorna o valor do atributo <code>aditivos</code> |
788 | 822 | * |
... | ... | @@ -793,8 +827,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
793 | 827 | return aditivos; |
794 | 828 | } |
795 | 829 | |
796 | - | |
797 | - | |
798 | 830 | /** |
799 | 831 | * Define o valor do atributo <code>aditivos</code>. |
800 | 832 | * |
... | ... | @@ -805,7 +837,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
805 | 837 | this.aditivos = aditivos; |
806 | 838 | } |
807 | 839 | |
808 | - | |
809 | 840 | /** |
810 | 841 | * Retorna o valor do atributo <code>valorTotalEmpenhado</code> |
811 | 842 | * |
... | ... | @@ -816,7 +847,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
816 | 847 | return valorTotalEmpenhado; |
817 | 848 | } |
818 | 849 | |
819 | - | |
820 | 850 | /** |
821 | 851 | * Define o valor do atributo <code>valorTotalEmpenhado</code>. |
822 | 852 | * |
... | ... | @@ -827,7 +857,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
827 | 857 | this.valorTotalEmpenhado = valorTotalEmpenhado; |
828 | 858 | } |
829 | 859 | |
830 | - | |
831 | 860 | /** |
832 | 861 | * Retorna o valor do atributo <code>numeroAnoEditalLicitacao</code> |
833 | 862 | * |
... | ... | @@ -838,7 +867,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
838 | 867 | return numeroAnoEditalLicitacao; |
839 | 868 | } |
840 | 869 | |
841 | - | |
842 | 870 | /** |
843 | 871 | * Define o valor do atributo <code>numeroAnoEditalLicitacao</code>. |
844 | 872 | * |
... | ... | @@ -849,7 +877,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
849 | 877 | this.numeroAnoEditalLicitacao = numeroAnoEditalLicitacao; |
850 | 878 | } |
851 | 879 | |
852 | - | |
853 | 880 | /** |
854 | 881 | * Retorna o valor do atributo <code>dataPublicacaoLicitacao</code> |
855 | 882 | * |
... | ... | @@ -860,7 +887,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
860 | 887 | return dataPublicacaoLicitacao; |
861 | 888 | } |
862 | 889 | |
863 | - | |
864 | 890 | /** |
865 | 891 | * Define o valor do atributo <code>dataPublicacaoLicitacao</code>. |
866 | 892 | * |
... | ... | @@ -871,7 +897,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
871 | 897 | this.dataPublicacaoLicitacao = dataPublicacaoLicitacao; |
872 | 898 | } |
873 | 899 | |
874 | - | |
875 | 900 | /** |
876 | 901 | * Retorna o valor do atributo <code>dominioModalidadeLicitacao</code> |
877 | 902 | * |
... | ... | @@ -882,7 +907,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
882 | 907 | return dominioModalidadeLicitacao; |
883 | 908 | } |
884 | 909 | |
885 | - | |
886 | 910 | /** |
887 | 911 | * Define o valor do atributo <code>dominioModalidadeLicitacao</code>. |
888 | 912 | * |
... | ... | @@ -893,7 +917,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
893 | 917 | this.dominioModalidadeLicitacao = dominioModalidadeLicitacao; |
894 | 918 | } |
895 | 919 | |
896 | - | |
897 | 920 | /** |
898 | 921 | * Retorna o valor do atributo <code>dominioTipoLicitacao</code> |
899 | 922 | * |
... | ... | @@ -904,7 +927,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
904 | 927 | return dominioTipoLicitacao; |
905 | 928 | } |
906 | 929 | |
907 | - | |
908 | 930 | /** |
909 | 931 | * Define o valor do atributo <code>dominioTipoLicitacao</code>. |
910 | 932 | * |
... | ... | @@ -915,7 +937,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
915 | 937 | this.dominioTipoLicitacao = dominioTipoLicitacao; |
916 | 938 | } |
917 | 939 | |
918 | - | |
919 | 940 | /** |
920 | 941 | * Retorna o valor do atributo <code>ctrtItens</code> |
921 | 942 | * |
... | ... | @@ -926,7 +947,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
926 | 947 | return ctrtItens; |
927 | 948 | } |
928 | 949 | |
929 | - | |
930 | 950 | /** |
931 | 951 | * Define o valor do atributo <code>ctrtItens</code>. |
932 | 952 | * |
... | ... | @@ -937,7 +957,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
937 | 957 | this.ctrtItens = ctrtItens; |
938 | 958 | } |
939 | 959 | |
940 | - | |
941 | 960 | /** |
942 | 961 | * Retorna o valor do atributo <code>ctrtEnvolvidos</code> |
943 | 962 | * |
... | ... | @@ -948,7 +967,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
948 | 967 | return ctrtEnvolvidos; |
949 | 968 | } |
950 | 969 | |
951 | - | |
952 | 970 | /** |
953 | 971 | * Define o valor do atributo <code>ctrtEnvolvidos</code>. |
954 | 972 | * |
... | ... | @@ -963,26 +981,17 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
963 | 981 | * @return the ordensFornecimento |
964 | 982 | */ |
965 | 983 | public Collection<OrdemFornecimento> getOrdensFornecimento() { |
984 | + | |
966 | 985 | return ordensFornecimento; |
967 | 986 | } |
968 | 987 | |
969 | - | |
970 | 988 | /** |
971 | - * @param ordensFornecimento the ordensFornecimento to set | |
989 | + * @param ordensFornecimento | |
990 | + * the ordensFornecimento to set | |
972 | 991 | */ |
973 | - public void setOrdensFornecimento( | |
974 | - Collection<OrdemFornecimento> ordensFornecimento) { | |
975 | - this.ordensFornecimento = ordensFornecimento; | |
976 | - } | |
977 | - | |
978 | - | |
979 | - public Collection<ContratoEnvolvidoJustificativa> getJustificativas() { | |
980 | - return justificativas; | |
981 | - } | |
992 | + public void setOrdensFornecimento(Collection<OrdemFornecimento> ordensFornecimento) { | |
982 | 993 | |
983 | - public void setJustificativas( | |
984 | - Collection<ContratoEnvolvidoJustificativa> justificativas) { | |
985 | - this.justificativas = justificativas; | |
994 | + this.ordensFornecimento = ordensFornecimento; | |
986 | 995 | } |
987 | 996 | |
988 | 997 | /** |
... | ... | @@ -995,8 +1004,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
995 | 1004 | return dominioModalidadeGarantia; |
996 | 1005 | } |
997 | 1006 | |
998 | - | |
999 | - | |
1000 | 1007 | /** |
1001 | 1008 | * Define o valor do atributo <code>dominioModalidadeGarantia</code>. |
1002 | 1009 | * |
... | ... | @@ -1007,8 +1014,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
1007 | 1014 | this.dominioModalidadeGarantia = dominioModalidadeGarantia; |
1008 | 1015 | } |
1009 | 1016 | |
1010 | - | |
1011 | - | |
1012 | 1017 | /** |
1013 | 1018 | * Retorna o valor do atributo <code>dataVigenciaGarantia</code> |
1014 | 1019 | * |
... | ... | @@ -1019,8 +1024,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
1019 | 1024 | return dataVigenciaGarantia; |
1020 | 1025 | } |
1021 | 1026 | |
1022 | - | |
1023 | - | |
1024 | 1027 | /** |
1025 | 1028 | * Define o valor do atributo <code>dataVigenciaGarantia</code>. |
1026 | 1029 | * |
... | ... | @@ -1031,8 +1034,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
1031 | 1034 | this.dataVigenciaGarantia = dataVigenciaGarantia; |
1032 | 1035 | } |
1033 | 1036 | |
1034 | - | |
1035 | - | |
1036 | 1037 | /** |
1037 | 1038 | * Retorna o valor do atributo <code>valorGarantia</code> |
1038 | 1039 | * |
... | ... | @@ -1043,8 +1044,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
1043 | 1044 | return valorGarantia; |
1044 | 1045 | } |
1045 | 1046 | |
1046 | - | |
1047 | - | |
1048 | 1047 | /** |
1049 | 1048 | * Define o valor do atributo <code>valorGarantia</code>. |
1050 | 1049 | * |
... | ... | @@ -1055,8 +1054,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
1055 | 1054 | this.valorGarantia = valorGarantia; |
1056 | 1055 | } |
1057 | 1056 | |
1058 | - | |
1059 | - | |
1060 | 1057 | /** |
1061 | 1058 | * Retorna o valor do atributo <code>percentualGarantia</code> |
1062 | 1059 | * |
... | ... | @@ -1067,8 +1064,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
1067 | 1064 | return percentualGarantia; |
1068 | 1065 | } |
1069 | 1066 | |
1070 | - | |
1071 | - | |
1072 | 1067 | /** |
1073 | 1068 | * Define o valor do atributo <code>percentualGarantia</code>. |
1074 | 1069 | * |
... | ... | @@ -1079,7 +1074,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
1079 | 1074 | this.percentualGarantia = percentualGarantia; |
1080 | 1075 | } |
1081 | 1076 | |
1082 | - | |
1083 | 1077 | /** |
1084 | 1078 | * Retorna o valor do atributo <code>documentos</code> |
1085 | 1079 | * |
... | ... | @@ -1090,7 +1084,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
1090 | 1084 | return documentos; |
1091 | 1085 | } |
1092 | 1086 | |
1093 | - | |
1094 | 1087 | /** |
1095 | 1088 | * Define o valor do atributo <code>documentos</code>. |
1096 | 1089 | * |
... | ... | @@ -1101,7 +1094,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
1101 | 1094 | this.documentos = documentos; |
1102 | 1095 | } |
1103 | 1096 | |
1104 | - | |
1105 | 1097 | /** |
1106 | 1098 | * Retorna o valor do atributo <code>observacoes</code> |
1107 | 1099 | * |
... | ... | @@ -1112,7 +1104,6 @@ public class Contrato extends PersistentObjectAuditOrganizacao { |
1112 | 1104 | return observacoes; |
1113 | 1105 | } |
1114 | 1106 | |
1115 | - | |
1116 | 1107 | /** |
1117 | 1108 | * Define o valor do atributo <code>observacoes</code>. |
1118 | 1109 | * | ... | ... |
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") | |
57 | +@Table(name = "cnt_cn_envolvido") | |
43 | 58 | @JsonIgnoreProperties({ "$checked" }) |
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; |
... | ... | @@ -21,7 +22,6 @@ import br.com.centralit.api.model.Contrato; |
21 | 22 | import br.com.centralit.api.model.ContratoDocumento; |
22 | 23 | import br.com.centralit.api.model.ContratoEmpenho; |
23 | 24 | import br.com.centralit.api.model.ContratoEnvolvido; |
24 | -import br.com.centralit.api.model.ContratoEnvolvidoJustificativa; | |
25 | 25 | 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; |
... | ... | @@ -67,7 +67,7 @@ import br.com.centralit.framework.util.UtilObjeto; |
67 | 67 | */ |
68 | 68 | @Service("contratoService") |
69 | 69 | public class ContratoServiceImpl extends GenericServiceImpl<Contrato, Long> implements ContratoService { |
70 | - | |
70 | + | |
71 | 71 | /** Atributo contratoDao. */ |
72 | 72 | private ContratoDao contratoDao; |
73 | 73 | |
... | ... | @@ -100,7 +100,7 @@ public class ContratoServiceImpl extends GenericServiceImpl<Contrato, Long> impl |
100 | 100 | /** Atributo colaboradorService. */ |
101 | 101 | @Autowired |
102 | 102 | private EstudoTecnicoService estudoTecnicoService; |
103 | - | |
103 | + | |
104 | 104 | @Autowired |
105 | 105 | private InternacionalizacaoService internacionalizacaoService; |
106 | 106 | |
... | ... | @@ -142,9 +142,9 @@ public class ContratoServiceImpl extends GenericServiceImpl<Contrato, Long> impl |
142 | 142 | } |
143 | 143 | |
144 | 144 | validarExistenciaContratoMesmoNumeroAno(contrato); |
145 | - | |
145 | + | |
146 | 146 | validarPapeisEnvolvidos(contrato); |
147 | - | |
147 | + | |
148 | 148 | return super.save(contrato); |
149 | 149 | } |
150 | 150 | |
... | ... | @@ -222,16 +222,16 @@ public class ContratoServiceImpl extends GenericServiceImpl<Contrato, Long> impl |
222 | 222 | |
223 | 223 | contratoEmpenho.setContrato(contrato); |
224 | 224 | contratoEmpenho.setContratoEmpenho(contrato); |
225 | - | |
225 | + | |
226 | 226 | contratoEmpenho.setDataEvento(contratoEmpenho.getData()); |
227 | - | |
227 | + | |
228 | 228 | contratoEmpenho.setTipoEvento(this.dominioService.findByChaveAndCodigo(DominioContrato.TIPO_EVENTO_CONTRATO, DominioContrato.TIPO_EVENTO_EMPENHO)); |
229 | - | |
229 | + | |
230 | 230 | Dominio idioma = this.dominioService.findByChaveAndCodigo("tipoIdioma", Dominio.TIPO_IDIOMA_PT_BR_CODIGO); |
231 | 231 | String descricaoEmpenho = this.internacionalizacaoService.getTranslate("CONTRATOS.MSG.DESCRICAO_EMPENHO", idioma); |
232 | 232 | descricaoEmpenho = descricaoEmpenho.replace(":VALOR:", Util.convertBigDecimalToString(contratoEmpenho.getValorEmpenhado())); |
233 | 233 | descricaoEmpenho = descricaoEmpenho.replace(":DATAEVENTO:", UtilDate.formatarData(contratoEmpenho.getData().getTime(), "dd/MM/yyyy")); |
234 | - | |
234 | + | |
235 | 235 | contratoEmpenho.setDescricao(descricaoEmpenho); |
236 | 236 | } |
237 | 237 | } |
... | ... | @@ -253,22 +253,17 @@ public class ContratoServiceImpl extends GenericServiceImpl<Contrato, Long> impl |
253 | 253 | } |
254 | 254 | |
255 | 255 | // cria vinculo do contrato com as ctrtItens |
256 | - if (!UtilColecao.isVazio(contrato.getCtrtEnvolvidos())){ | |
256 | + if (CollectionUtils.isNotEmpty(contrato.getCtrtEnvolvidos())){ | |
257 | 257 | |
258 | 258 | for (ContratoEnvolvido contratoEnvolvido : contrato.getCtrtEnvolvidos()) { |
259 | 259 | |
260 | 260 | contratoEnvolvido.setEnvolvido(this.colaboradorService.find(contratoEnvolvido.getEnvolvido().getId())); |
261 | 261 | |
262 | 262 | contratoEnvolvido.setContrato(contrato); |
263 | - } | |
264 | - } | |
265 | - | |
266 | - // cria vinculo do contrato com as justificativas de alterções dos envolvidos | |
267 | - if (!UtilColecao.isVazio(contrato.getJustificativas())){ | |
268 | - | |
269 | - for (ContratoEnvolvidoJustificativa justificativa : contrato.getJustificativas()) { | |
270 | - | |
271 | - justificativa.setContrato(contrato); | |
263 | + | |
264 | + if (CollectionUtils.isNotEmpty(contratoEnvolvido.getJustificativas())){ | |
265 | + contratoEnvolvido.setJustificativas(contratoEnvolvido.getJustificativas()); | |
266 | + } | |
272 | 267 | } |
273 | 268 | } |
274 | 269 | } |
... | ... | @@ -388,48 +383,48 @@ public class ContratoServiceImpl extends GenericServiceImpl<Contrato, Long> impl |
388 | 383 | public Collection<Contrato> findAutoCompleteContratoPorNumeroAndOrganizacao(String numeroAnoContrato, Long idOrganizacao) { |
389 | 384 | |
390 | 385 | return contratoDao.findAutoCompleteContratoPorNumeroAndOrganizacao(numeroAnoContrato, idOrganizacao); |
391 | - } | |
392 | - | |
386 | + } | |
387 | + | |
393 | 388 | /** |
394 | 389 | * Método responsável validar se os papéis obrigatórios dos envolvidos no contrado foram informados. |
395 | 390 | * |
396 | 391 | * @author luis.camargo |
397 | 392 | * |
398 | 393 | * @param contrato |
399 | - * | |
394 | + * | |
400 | 395 | */ |
401 | 396 | private void validarPapeisEnvolvidos(Contrato contrato) { |
402 | 397 | List<Long> papeisInformados = new ArrayList<Long>(); |
403 | - | |
398 | + | |
404 | 399 | for (ContratoEnvolvido envolvido : contrato.getCtrtEnvolvidos()) { |
405 | 400 | papeisInformados.add(envolvido.getDominioPapelEnvolvidoContrato().getCodigo()); |
406 | 401 | } |
407 | - | |
402 | + | |
408 | 403 | StringBuilder complemento = new StringBuilder().append( |
409 | 404 | DominioContrato.DESCRICAO_TIPO_PAPEL_ENVOLVIDO_CONTRATO_GESTOR).append(", ").append( |
410 | 405 | DominioContrato.DESCRICAO_TIPO_PAPEL_ENVOLVIDO_CONTRATO_FISCAL_ADMINISTRATIVO).append(" e ").append( |
411 | 406 | DominioContrato.DESCRICAO_TIPO_PAPEL_ENVOLVIDO_CONTRATO_FISCAL_TECNICO); |
412 | 407 | |
413 | - boolean hasObrigatorios = papeisInformados.contains(DominioContrato.CODIGO_TIPO_PAPEL_ENVOLVIDO_CONTRATO_GESTOR) && | |
414 | - papeisInformados.contains(DominioContrato.CODIGO_TIPO_PAPEL_ENVOLVIDO_CONTRATO_FISCAL_TECNICO) && | |
408 | + boolean hasObrigatorios = papeisInformados.contains(DominioContrato.CODIGO_TIPO_PAPEL_ENVOLVIDO_CONTRATO_GESTOR) && | |
409 | + papeisInformados.contains(DominioContrato.CODIGO_TIPO_PAPEL_ENVOLVIDO_CONTRATO_FISCAL_TECNICO) && | |
415 | 410 | papeisInformados.contains(DominioContrato.CODIGO_TIPO_PAPEL_ENVOLVIDO_CONTRATO_FISCAL_ADMINISTRATIVO); |
416 | 411 | lancarBusinessException(!hasObrigatorios, "CONTRATOS.VALIDACAO.PAPEIS_OBRIGATORIOS_CONTRATO_FALTANDO", CodigoErro.REGRA_NEGOCIO.getValue(), complemento.toString()); |
417 | 412 | } |
418 | - | |
413 | + | |
419 | 414 | /** |
420 | 415 | * Método responsável validar se existe contrato com o mesmo numero/ano. |
421 | - * | |
416 | + * | |
422 | 417 | * @author ronan.camargo |
423 | - * | |
418 | + * | |
424 | 419 | * @param contrato |
425 | 420 | */ |
426 | 421 | @SuppressWarnings({ "rawtypes", "unchecked" }) |
427 | 422 | private void validarExistenciaContratoMesmoNumeroAno(Contrato contrato) { |
428 | - | |
423 | + | |
429 | 424 | List<Contrato> contratos = (List) contratoDao.buscarPorAtributo("numeroAnoContrato", contrato.getNumeroAnoContrato()); |
430 | - | |
425 | + | |
431 | 426 | boolean isExistente = contratos != null && contratos.size() > 0; |
432 | - | |
427 | + | |
433 | 428 | lancarBusinessException("CONTRATOS.VALIDACAO.NUMERO_CONTRATO_DUPLICADO", CodigoErro.REGRA_NEGOCIO.getValue(), isExistente); |
434 | 429 | } |
435 | 430 | } | ... | ... |
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 | |
986 | 987 | private void gerarMensagem(Dominio dominio, Modulo modulo, List<Internacionalizacao> internacionalizacaoList) { | ... | ... |
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, |
... | ... | @@ -237,83 +236,78 @@ citApp.controller('ContratoController', ['$scope', '$filter', 'FileUploader', 'C |
237 | 236 | $scope.contratoForm.anexosObservacoesContratoForm.$submitted = true; |
238 | 237 | |
239 | 238 | // verifica formulario valido |
240 | - if ($scope.contratoForm.$valid) { | |
241 | - | |
242 | - // data da celebracao nao pode ser maior que a data de vigencia inicial do contrato | |
243 | - if(!isPeriodoValido($scope.contrato.dataCelebracao, $scope.contrato.dataVigenciaInicial)){ | |
244 | - | |
245 | - $scope.showAlert('error', $translate.instant('VALIDACAO.DATA_CELEBRACAO_MAIOR_DATA_VIGENCIA_INICIAL')); | |
246 | - return; | |
247 | - } | |
248 | - | |
249 | - // data de vigencia inicial nao pode ser maior que a data de vigencia final do contrato | |
250 | - if(!isPeriodoValido($scope.contrato.dataVigenciaInicial, $scope.contrato.dataVigenciaFinal)){ | |
251 | - | |
252 | - $scope.showAlert('error', $translate.instant('VALIDACAO.DATA_VIGENCIA_INICIAL_MAIOR_DATA_VIGENCIA_FINAL_CONTRATO')); | |
253 | - return; | |
254 | - } | |
239 | + if ($scope.contratoForm.$invalid) { | |
240 | + $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS')); | |
241 | + return; | |
242 | + } | |
255 | 243 | |
256 | - // data de vigencia inicial nao pode ser maior que a data de vigencia final do contrato | |
257 | - if($scope.contrato.ctrtEnvolvidos && $scope.contrato.ctrtEnvolvidos.length > 0 && $scope.contrato.ctrtEnvolvidos.length < 3){ | |
244 | + if(!$scope.informacoesValidas()){ | |
245 | + return; | |
246 | + }; | |
258 | 247 | |
259 | - $scope.showAlert('error', $translate.instant('VALIDACAO.CONTRATO_EXIGE_MINIMO_TRES_ENVOLVIDOS')); | |
248 | + if ($scope.contrato.ctrtValoresPagamento && $scope.contrato.ctrtValoresPagamento.length > 0){ | |
249 | + if (!validarContratoValoresPagamento()){ | |
260 | 250 | return; |
261 | 251 | } |
252 | + angular.forEach($scope.contrato.ctrtValoresPagamento, function(parcelaValorPagamento){ | |
253 | + if (parcelaValorPagamento.seguencia){ | |
254 | + delete parcelaValorPagamento.seguencia; | |
255 | + } | |
256 | + }); | |
257 | + } | |
262 | 258 | |
263 | - if($scope.contrato.id && $scope.hasAlteracaoEnvolvido){ | |
259 | + $scope.contratoTemp = { | |
260 | + documentos: [] | |
261 | + }; | |
264 | 262 | |
265 | - $scope.showAlert('error', $translate.instant('CONTRATOS.VALIDACAO.ALTERACAO_ENVOLVIDOS_EXIGE_JUSTIFICATIVA')); | |
266 | - return; | |
267 | - } else { | |
268 | - angular.forEach($scope.contrato.justificativas, function(justificativa){ | |
269 | - delete justificativa.autor; | |
270 | - delete justificativa.dataCriacao; | |
263 | + // preencher lista de documentos temporarios para verificacao dos anexos. verificar qual anexo e de qual documento pelo numero do documento | |
264 | + angular.forEach($scope.contrato.documentos, function(documento, key) { | |
265 | + if (documento.uploadsDocumento) { | |
266 | + $scope.contratoTemp.documentos.push({ | |
267 | + uploadsDocumento: clone(documento.uploadsDocumento), | |
268 | + numero: clone(documento.numero) | |
271 | 269 | }); |
270 | + // deleta esse atributo por causa de um erro de ciclo no json | |
271 | + delete documento.uploadsDocumento; | |
272 | 272 | } |
273 | + }); | |
273 | 274 | |
274 | - if ($scope.contrato.ctrtValoresPagamento && $scope.contrato.ctrtValoresPagamento.length > 0){ | |
275 | - | |
276 | - if (!validarContratoValoresPagamento()){ | |
277 | - | |
278 | - return; | |
279 | - | |
280 | - } else { | |
275 | + if ($scope.contrato.programaAcao && $scope.contrato.programaAcao.originalElement) { | |
276 | + $scope.contrato.programaAcao = $scope.contrato.programaAcao.originalElement; | |
277 | + } | |
278 | + verificarValorTotalEmpenhado(); | |
279 | + }; | |
281 | 280 | |
282 | - angular.forEach($scope.contrato.ctrtValoresPagamento, function(parcelaValorPagamento){ | |
281 | + $scope.informacoesValidas = function () { | |
283 | 282 | |
284 | - if (parcelaValorPagamento.seguencia){ | |
283 | + // data da celebracao nao pode ser maior que a data de vigencia inicial do contrato | |
284 | + if(!isPeriodoValido($scope.contrato.dataCelebracao, $scope.contrato.dataVigenciaInicial)){ | |
285 | + $scope.showAlert('error', $translate.instant('VALIDACAO.DATA_CELEBRACAO_MAIOR_DATA_VIGENCIA_INICIAL')); | |
286 | + return false; | |
287 | + } | |
285 | 288 | |
286 | - delete parcelaValorPagamento.seguencia; | |
287 | - } | |
288 | - }); | |
289 | - } | |
290 | - } | |
289 | + // data de vigencia inicial nao pode ser maior que a data de vigencia final do contrato | |
290 | + if(!isPeriodoValido($scope.contrato.dataVigenciaInicial, $scope.contrato.dataVigenciaFinal)){ | |
291 | + $scope.showAlert('error', $translate.instant('VALIDACAO.DATA_VIGENCIA_INICIAL_MAIOR_DATA_VIGENCIA_FINAL_CONTRATO')); | |
292 | + return false; | |
293 | + } | |
291 | 294 | |
292 | - $scope.contratoTemp = { | |
293 | - documentos: [] | |
294 | - }; | |
295 | + // data de vigencia inicial nao pode ser maior que a data de vigencia final do contrato | |
296 | + if($scope.contrato.ctrtEnvolvidos && $scope.contrato.ctrtEnvolvidos.length > 0 && $scope.contrato.ctrtEnvolvidos.length < 3){ | |
297 | + $scope.showAlert('error', $translate.instant('VALIDACAO.CONTRATO_EXIGE_MINIMO_TRES_ENVOLVIDOS')); | |
298 | + return false; | |
299 | + } | |
295 | 300 | |
296 | - // preencher lista de documentos temporarios para verificacao dos anexos. verificar qual anexo e de qual documento pelo numero do documento | |
297 | - angular.forEach($scope.contrato.documentos, function(documento, key) { | |
298 | - if (documento.uploadsDocumento) { | |
299 | - $scope.contratoTemp.documentos.push({ | |
300 | - uploadsDocumento: clone(documento.uploadsDocumento), | |
301 | - numero: clone(documento.numero) | |
302 | - }); | |
303 | - // deleta esse atributo por causa de um erro de ciclo no json | |
304 | - delete documento.uploadsDocumento; | |
305 | - } | |
301 | + if($scope.contrato.id && $scope.hasAlteracaoEnvolvido){ | |
302 | + $scope.showAlert('error', $translate.instant('CONTRATOS.VALIDACAO.ALTERACAO_ENVOLVIDOS_EXIGE_JUSTIFICATIVA')); | |
303 | + return false; | |
304 | + } else if ($scope.contrato.ctrtEnvolvidos){ | |
305 | + angular.forEach($scope.contrato.ctrtEnvolvidos.justificativas, function(justificativa){ | |
306 | + delete justificativa.autor; | |
307 | + delete justificativa.dataCriacao; | |
306 | 308 | }); |
307 | - | |
308 | - if ($scope.contrato.programaAcao && $scope.contrato.programaAcao.originalElement) { | |
309 | - $scope.contrato.programaAcao = $scope.contrato.programaAcao.originalElement; | |
310 | - } | |
311 | - | |
312 | - verificarValorTotalEmpenhado(); | |
313 | - } else { | |
314 | - | |
315 | - $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS')); | |
316 | 309 | } |
310 | + return true; | |
317 | 311 | }; |
318 | 312 | |
319 | 313 | function save() { |
... | ... | @@ -563,12 +557,12 @@ citApp.controller('ContratoController', ['$scope', '$filter', 'FileUploader', 'C |
563 | 557 | }); |
564 | 558 | } |
565 | 559 | }); |
566 | - | |
560 | + | |
567 | 561 | // watch para calcular valor da porecentagem da garantia |
568 | 562 | $scope.$watchCollection('contrato.valorGarantia', function() { |
569 | 563 | $scope.atualizaPercentualGarantia(); |
570 | 564 | }); |
571 | - | |
565 | + | |
572 | 566 | // watch para calcular valor da porecentagem da garantia |
573 | 567 | $scope.$watchCollection('contrato.valorContrato', function() { |
574 | 568 | if ($scope.contrato.valorGarantia) { |
... | ... | @@ -1363,10 +1357,8 @@ citApp.controller('ContratoController', ['$scope', '$filter', 'FileUploader', 'C |
1363 | 1357 | }); |
1364 | 1358 | |
1365 | 1359 | if (contratoEnvolvidosChecked.length > 1){ |
1366 | - | |
1367 | 1360 | $scope.acaoEmMassaEnvolvido = true; |
1368 | 1361 | } else { |
1369 | - | |
1370 | 1362 | $scope.acaoEmMassaEnvolvido = false; |
1371 | 1363 | } |
1372 | 1364 | }; |
... | ... | @@ -1374,100 +1366,92 @@ citApp.controller('ContratoController', ['$scope', '$filter', 'FileUploader', 'C |
1374 | 1366 | // responsavel por abrir modal de adicao de um contratoEnvolvido |
1375 | 1367 | $scope.openModalContratoEnvolvido = function() { |
1376 | 1368 | |
1377 | - filtrarPapeisSelecionados(); | |
1369 | + //filtrarPapeisSelecionados(); | |
1378 | 1370 | |
1379 | 1371 | $scope.contratoEnvolvidoTemp = {}; |
1380 | 1372 | $scope.editEnvolvido = true; |
1381 | - $scope.$openModal('modal-envolvido.html', 'lg'); | |
1373 | + $scope.$openModal('dialog_envolvido.html', 'lg'); | |
1382 | 1374 | }; |
1383 | 1375 | |
1384 | - // responsavel por abrir modal de adicao de uma justificativa | |
1385 | - $scope.openModalJustificativa = function() { | |
1386 | - | |
1387 | - $scope.justificativaTemp = {}; | |
1388 | - $scope.editEnvolvido = true; | |
1389 | - $scope.$openModal('modal-justificativa.html', 'lg'); | |
1376 | + $scope.closeModalContratoEvolvido = function(formDialogEnvolvido) { | |
1377 | + $scope.hasAlteracaoEnvolvido = false; | |
1378 | + formDialogEnvolvido.$submitted = false; | |
1379 | + $scope.$modalInstance.dismiss('cancel'); | |
1390 | 1380 | }; |
1391 | 1381 | |
1392 | 1382 | $scope.adicionarContratoEnvolvido = function (formDialogEnvolvido, continuarEditando) { |
1393 | 1383 | |
1394 | 1384 | formDialogEnvolvido.$submitted = true; |
1385 | + if($scope.contrato.id && $scope.hasAlteracaoEnvolvido){ | |
1386 | + if($scope.contratoEnvolvidoTemp.justificativas.length === 0 || $scope.contratoEnvolvidoTemp.justificativas.length === $scope.justificativasAnterioresLength){ | |
1387 | + $scope.showAlert('error', $translate.instant('CONTRATOS.VALIDACAO.ALTERACAO_ENVOLVIDOS_EXIGE_JUSTIFICATIVA')); | |
1388 | + return; | |
1389 | + } | |
1390 | + } | |
1395 | 1391 | |
1396 | - if (formDialogEnvolvido.$valid) { | |
1397 | - if ($scope.contrato.ctrtEnvolvidos){ | |
1398 | - if ($scope.contratoEnvolvidoTemp.$checked) { | |
1399 | - for (var i = 0; i < $scope.contrato.ctrtEnvolvidos.length; i++) { | |
1400 | - if ($scope.contrato.ctrtEnvolvidos[i].$checked) { | |
1401 | - $scope.contrato.ctrtEnvolvidos[i] = $scope.contratoEnvolvidoTemp; | |
1402 | - } | |
1392 | + if (formDialogEnvolvido.$invalid) { | |
1393 | + //Mensagem de erro de campos obrigatorios nao preenchidos | |
1394 | + $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false); | |
1395 | + return; | |
1396 | + } | |
1397 | + if ($scope.contrato.ctrtEnvolvidos){ | |
1398 | + if ($scope.contratoEnvolvidoTemp.$checked) { | |
1399 | + for (var i = 0; i < $scope.contrato.ctrtEnvolvidos.length; i++) { | |
1400 | + if ($scope.contrato.ctrtEnvolvidos[i].$checked) { | |
1401 | + $scope.contrato.ctrtEnvolvidos[i] = $scope.contratoEnvolvidoTemp; | |
1403 | 1402 | } |
1404 | - } else { | |
1405 | - $scope.contrato.ctrtEnvolvidos.push($scope.contratoEnvolvidoTemp); | |
1406 | 1403 | } |
1407 | - } | |
1408 | - | |
1409 | - $scope.contratoEnvolvidoTemp = {}; | |
1410 | - if (continuarEditando) { | |
1411 | - formDialogEnvolvido.$submitted = false; | |
1412 | - formDialogEnvolvido.$setPristine(); | |
1413 | - filtrarPapeisSelecionados(); | |
1414 | 1404 | } else { |
1415 | - $scope.$modalInstance.dismiss('cancel'); | |
1405 | + $scope.contrato.ctrtEnvolvidos.push($scope.contratoEnvolvidoTemp); | |
1416 | 1406 | } |
1407 | + } | |
1417 | 1408 | |
1418 | - if ($scope.contrato.id){ | |
1419 | - $scope.hasAlteracaoEnvolvido = true; | |
1420 | - } | |
1409 | + $scope.contratoEnvolvidoTemp = {}; | |
1410 | + $scope.justificativaTemp = {}; | |
1411 | + if (continuarEditando) { | |
1412 | + formDialogEnvolvido.$submitted = false; | |
1413 | + formDialogEnvolvido.$setPristine(); | |
1414 | + //filtrarPapeisSelecionados(); | |
1421 | 1415 | } else { |
1422 | - //Mensagem de erro de campos obrigatorios n�o preenchidos | |
1423 | - $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false); | |
1416 | + $scope.$modalInstance.dismiss('cancel'); | |
1424 | 1417 | } |
1425 | 1418 | }; |
1426 | 1419 | |
1427 | - $scope.adicionarJustificativa = function (formDialogJustificativa, continuarEditando) { | |
1428 | - | |
1429 | - formDialogJustificativa.$submitted = true; | |
1420 | + $scope.adicionarJustificativa = function (form) { | |
1430 | 1421 | |
1431 | - if (formDialogJustificativa.$valid) { | |
1432 | - if ($scope.contrato.justificativas){ | |
1433 | - $scope.justificativaTemp.autor = $scope.usuarioLogado; | |
1434 | - $scope.justificativaTemp.dataCriacao = new Date(); | |
1435 | - $scope.contrato.justificativas.push($scope.justificativaTemp); | |
1436 | - } | |
1422 | + form.$submitted = true; | |
1437 | 1423 | |
1438 | - $scope.justificativaTemp = {}; | |
1439 | - if (continuarEditando) { | |
1440 | - formDialogJustificativa.$submitted = false; | |
1441 | - formDialogJustificativa.$setPristine(); | |
1442 | - } else { | |
1443 | - $scope.$modalInstance.dismiss('cancel'); | |
1444 | - } | |
1445 | - $scope.hasAlteracaoEnvolvido = false; | |
1446 | - } else { | |
1447 | - //Mensagem de erro de campos obrigatorios n�o preenchidos | |
1424 | + if (form.$invalid) { | |
1425 | + //Mensagem de erro de campos obrigatorios nao preenchidos | |
1448 | 1426 | $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false); |
1427 | + return; | |
1449 | 1428 | } |
1450 | - }; | |
1451 | - | |
1452 | - function filtrarPapeisSelecionados() { | |
1453 | - if ($scope.contrato.ctrtEnvolvidos && $scope.contrato.ctrtEnvolvidos.length > 0){ | |
1454 | - | |
1455 | - var dominiosPapelEnvolvidoContrato = []; | |
1456 | - $scope.contrato.ctrtEnvolvidos.forEach(function(item){ | |
1457 | - | |
1458 | - dominiosPapelEnvolvidoContrato.push(item.dominioPapelEnvolvidoContrato); | |
1459 | - }); | |
1460 | - | |
1461 | - $scope.dominioPapelEnvolvidoList = $filter('idNotEqualDominio')($scope.dominioPapelEnvolvidoListFixa, dominiosPapelEnvolvidoContrato); | |
1462 | - | |
1463 | - if ($scope.dominioPapelEnvolvidoList && $scope.dominioPapelEnvolvidoList.length === 0){ | |
1464 | - | |
1465 | - $scope.showAlert('warning', $translate.instant('CONTRATOS.MSG.TODOS_PAPEIS_ENVOLVIDOS_ADICIONADOS')); | |
1466 | - return; | |
1467 | - } | |
1429 | + if ($scope.contratoEnvolvidoTemp.justificativas){ | |
1430 | + $scope.justificativaTemp.autor = $scope.usuarioLogado; | |
1431 | + $scope.justificativaTemp.dataCriacao = new Date(); | |
1432 | + $scope.contratoEnvolvidoTemp.justificativas.push($scope.justificativaTemp); | |
1468 | 1433 | } |
1434 | + $scope.justificativaTemp = {}; | |
1435 | + $scope.hasAlteracaoEnvolvido = false; | |
1469 | 1436 | }; |
1470 | 1437 | |
1438 | +// function filtrarPapeisSelecionados() { | |
1439 | +// if ($scope.contrato.ctrtEnvolvidos && $scope.contrato.ctrtEnvolvidos.length > 0){ | |
1440 | +// | |
1441 | +// var dominiosPapelEnvolvidoContrato = []; | |
1442 | +// $scope.contrato.ctrtEnvolvidos.forEach(function(item){ | |
1443 | +// dominiosPapelEnvolvidoContrato.push(item.dominioPapelEnvolvidoContrato); | |
1444 | +// }); | |
1445 | +// | |
1446 | +// $scope.dominioPapelEnvolvidoList = $filter('idNotEqualDominio')($scope.dominioPapelEnvolvidoListFixa, dominiosPapelEnvolvidoContrato); | |
1447 | +// | |
1448 | +// if ($scope.dominioPapelEnvolvidoList && $scope.dominioPapelEnvolvidoList.length === 0){ | |
1449 | +// $scope.showAlert('warning', $translate.instant('CONTRATOS.MSG.TODOS_PAPEIS_ENVOLVIDOS_ADICIONADOS')); | |
1450 | +// return; | |
1451 | +// } | |
1452 | +// } | |
1453 | +// }; | |
1454 | + | |
1471 | 1455 | //responsavel por remover um/ou mais item(ns) de contrato |
1472 | 1456 | $scope.removerContratoEnvolvido = function (){ |
1473 | 1457 | |
... | ... | @@ -1554,23 +1538,25 @@ citApp.controller('ContratoController', ['$scope', '$filter', 'FileUploader', 'C |
1554 | 1538 | // Responsavel por abrir modal de envolvido para edicao ou visualizacao do item selecionado |
1555 | 1539 | $scope.abrirContratoEnvolvido = function(edit) { |
1556 | 1540 | |
1557 | - filtrarPapeisSelecionados(); | |
1541 | + //filtrarPapeisSelecionados(); | |
1558 | 1542 | |
1559 | 1543 | $scope.editEnvolvido = edit; |
1560 | - | |
1561 | 1544 | $scope.contratoEnvolvidoTemp = null; |
1562 | - | |
1563 | 1545 | // recupera o item de contrato selecionado |
1564 | 1546 | $scope.contratoEnvolvidoTemp = $scope.getCheckedContratoEnvolvido(); |
1565 | - | |
1566 | 1547 | if(!$scope.contratoEnvolvidoTemp) { |
1567 | - | |
1568 | 1548 | $scope.showAlert('warning', !edit ? $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_VISUALIZACAO') : $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_EDICAO')); |
1569 | 1549 | return; |
1570 | 1550 | } |
1551 | + $scope.justificativaTemp = {}; | |
1552 | + $scope.justificativasAnterioresLength = $scope.contratoEnvolvidoTemp.justificativas.length; | |
1553 | + | |
1554 | + if ($scope.contrato.id) { | |
1555 | + $scope.hasAlteracaoEnvolvido = edit; | |
1556 | + } | |
1571 | 1557 | |
1572 | 1558 | $timeout(function() { |
1573 | - $scope.$openModal('modal-envolvido.html', 'lg'); | |
1559 | + $scope.$openModal('dialog_envolvido.html', 'lg'); | |
1574 | 1560 | }); |
1575 | 1561 | }; |
1576 | 1562 | |
... | ... | @@ -1588,7 +1574,7 @@ citApp.controller('ContratoController', ['$scope', '$filter', 'FileUploader', 'C |
1588 | 1574 | } |
1589 | 1575 | return contratoEnvolvidoChecked; |
1590 | 1576 | }; |
1591 | - | |
1577 | + | |
1592 | 1578 | $scope.radioValueList = [{descricao : $translate.instant('LABEL.SIM'), valor : true}, |
1593 | 1579 | {descricao : $translate.instant('LABEL.NAO'), valor : false}]; |
1594 | 1580 | ... | ... |
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,13 +23,13 @@ |
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="abrirContratoEnvolvido(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 | 34 | ng-click="abrirContratoEnvolvido(true);" ng-if="!acaoEmMassaEnvolvido"> |
35 | 35 | <i class="fa fa-pencil blue"></i> |
... | ... | @@ -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-hide="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" | |
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 | 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" ng-disabled="!editEnvolvido" | |
45 | 45 | ng-custom-options="dominioPapelEnvolvido.originalElement as dominioPapelEnvolvido.descricao for dominioPapelEnvolvido" |
46 | 46 | track-by="track by dominioPapelEnvolvido.id"/> |
47 | 47 | </div><!-- .col-sm-4 --> |
48 | 48 | </div><!-- .row --> |
49 | + </fieldset> | |
50 | + <fieldset ng-if="(contrato.id && hasAlteracaoEnvolvido) || (contrato.id && contratoEnvolvidoTemp.justificativas.length > 0)"> | |
51 | + <div class="row"> | |
52 | + <div class="col-sm-12"> | |
53 | + <h2 class="title-modal"><translate>LABEL.JUSTIFICATIVA</translate></h2> | |
54 | + <p ng-show="editEnvolvido"> | |
55 | + <small>( <span class="red">*</span> ) <translate>LABEL.CAMPOS_OBRIGATORIOS</translate></small> | |
56 | + </p> | |
57 | + </div> | |
58 | + </div> | |
59 | + <div class="row"> | |
60 | + <div class="col-sm-12"> | |
61 | + <label-text-area ng-id="justificativaTemp.descricao" ng-label="LABEL.JUSTIFICATIVA" ng-hide="!editEnvolvido" | |
62 | + form="formDialogJustificativa" ng-obrigatorio="contrato.id && hasAlteracaoEnvolvido" rows="3" ng-custom-maxlength="500" | |
63 | + ng-model="justificativaTemp.descricao" ></label-text-area> | |
64 | + </div> | |
65 | + </div><!-- .row --> | |
66 | + <div class="row"> | |
67 | + <div class="col-sm-4"> | |
68 | + <button title="{{$translate.instant('CONTRATOS.LABEL.ADICIONAR_JUSTIFICATIVA')}}" alt="{{$translate.instant('CONTRATOS.LABEL.ADICIONAR_JUSTIFICATIVA')}}" | |
69 | + ng-click="adicionarJustificativa(formDialogEnvolvido)" ng-hide="!editEnvolvido" class="btn btn-success" type="button"> | |
70 | + <i class="fa fa-save white"></i> | |
71 | + <translate>CONTRATOS.LABEL.ADICIONAR_JUSTIFICATIVA</translate> | |
72 | + </button> | |
73 | + </div> | |
74 | + </div><!-- .row --> | |
75 | + </br> | |
76 | + <div class="row"> | |
77 | + <div class="col-sm-12"> | |
78 | + <table class="table table-bordered table-striped"> | |
79 | + <thead> | |
80 | + <tr> | |
81 | + <th style="width: 5%;" class="text-center">#</th> | |
82 | + <th style="width: 15%;" class="text-center"><translate>LABEL.DATA</translate></th> | |
83 | + <th style="width: 65%;" class="text-center"><translate>LABEL.JUSTIFICATIVA</translate></th> | |
84 | + <th style="width: 15%;" class="text-center"><translate>LABEL.USUARIO</translate></th> | |
85 | + </tr> | |
86 | + </thead> | |
87 | + <tbody> | |
88 | + <tr ng-hide="(contratoEnvolvidoTemp.justificativas && contratoEnvolvidoTemp.justificativas.length != 0)"> | |
89 | + <td colspan="4" class="text-center"><translate>LABEL.TABELA_VAZIA</translate></td> | |
90 | + </tr> | |
91 | + <tr ng-repeat="justificativa in contratoEnvolvidoTemp.justificativas"> | |
92 | + <td class="text-center">{{$index +1}}</td> | |
93 | + <td class="text-center">{{ justificativa.dataCriacao | date : 'dd/MM/yyyy' }}</td> | |
94 | + <td class="text-justify">{{ justificativa.descricao }}</td> | |
95 | + <td class="text-center">{{ justificativa.autor.username }}</td> | |
96 | + </tr> | |
97 | + </tbody> | |
98 | + </table> | |
99 | + </div><!-- .<!-- .col --> | |
100 | + </div><!-- .<!-- .row --> | |
49 | 101 | </fieldset><!-- .fieldset --> |
50 | 102 | </div><!-- .<!-- .modal-body --> |
51 | -</ng-form> | |
52 | 103 | \ No newline at end of file |
104 | +</ng-form> | ... | ... |