Project

General

Profile

1
package eu.dnetlib.goldoa.domain;
2

    
3
import com.google.gwt.user.client.rpc.IsSerializable;
4

    
5
import java.io.Serializable;
6
import javax.persistence.*;
7

    
8
import java.util.ArrayList;
9
import java.util.Date;
10
import java.util.List;
11
import java.sql.Timestamp;
12

    
13

    
14
/**
15
 * The persistent class for the budget database table.
16
 * 
17
 */
18

    
19

    
20
@Entity
21
public class Budget implements Serializable {
22
	private static final long serialVersionUID = 1L;
23

    
24
	public enum Status implements IsSerializable {
25
		INCOMPLETE("Incomplete", 1),
26
		SUBMITTED("Submitted", 2),
27
		INITIALLY_APPROVED("Initially approved", 4),
28
		APPROVED("Approved", 8),
29
		REJECTED("Rejected", 16),
30
		ACCOUNTING_PROCESSING("Processing payment", 32),
31
		ACCOUNTING_ONHOLD("Processing payment", 64),
32
		ACCOUNTING_DENIED("Payment denied", 128),
33
		ACCOUNTING_PAID("Paid", 256),
34
		EXPIRED("Expired", 512);
35

    
36
		private String value;
37
		private int code;
38

    
39
		Status(String value, int code) {
40
			this.value = value;
41
			this.code = code;
42
		}
43

    
44
		public String getValue() {
45
			return value;
46
		}
47

    
48
		public int getCode() {
49
			return code;
50
		}
51

    
52
		public static Status forStatus(int status) {
53
			if (status == 1)
54
				return INCOMPLETE;
55
			else
56
				return Status.values()[((int) Math.round(Math.log(status)/Math.log(2)))];
57
		}
58
	}
59

    
60
	@Id
61
	//@Column(columnDefinition = "text")
62
	private String id;
63

    
64
	//@Column(name="amount_granted")
65
	private float amountGranted;
66

    
67
	//@Column(name="amount_requested")
68
	private float amountRequested;
69

    
70
	//@Column(name="bank_address",columnDefinition = "text")
71
	private String bankAddress;
72

    
73
	//@Column(name="bank_code",columnDefinition = "text")
74
	private String bankCode;
75

    
76
	//@Column(name="bank_holder",columnDefinition = "text")
77
	private String bankHolder;
78

    
79
	//@Column(name="bank_iban",columnDefinition = "text")
80
	private String bankIban;
81

    
82
	//@Column(name="bank_name",columnDefinition = "text")
83
	private String bankName;
84

    
85
	@Column(name="bank_receipt")
86
	private byte[] bankReceipt;
87

    
88
	//@Column(name="bank_receipt_contenttype",columnDefinition = "text")
89
	private String bankReceiptContenttype;
90
	//@Column(columnDefinition = "text")
91
	private String beneficiarysignedcontract;
92
	//@Column(columnDefinition = "text")
93
	private String currency;
94

    
95
	@Temporal(TemporalType.DATE)
96
	private Date date;
97

    
98
	@Column(name="date_paid")
99
	private Timestamp datePaid;
100

    
101
	@Temporal(TemporalType.DATE)
102
	private Date enddate;
103
	//@Column(columnDefinition = "text")
104

    
105
	@OneToOne
106
	@JoinColumn(name = "initialcontractfile")
107
	private Budgetfile initialcontractfile;
108

    
109
	@Column(name="other_cost")
110
	private float otherCost;
111
	
112
	private float remaining;
113
	
114
	//@Column(name="transfer_cost")
115
	private float transferCost;
116
	//@Column(columnDefinition = "text")
117
	private String signedcontract;
118
	
119
	@Temporal(TemporalType.DATE)
120
	private Date startdate;
121

    
122
	@Basic
123
	@Convert( converter=StatusConverter.class )
124
	private Status status;
125
	
126
	
127
	@OneToOne
128
    @JoinColumn(name = "invoice")
129
	private Invoice invoice;
130
	
131
	@OneToOne
132
    @JoinColumn(name = "organization")
133
	private Organization organization;
134
	
135
	@OneToOne
136
    @JoinColumn(name = "publisher")
137
	private Publisher publisher;
138
	
139
	@OneToOne
140
    @JoinColumn(name = "user")
141
	private User user;
142

    
143
	//@OneToMany(mappedBy = "budget",cascade=CascadeType.ALL)
144
	@ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
145
	@JoinTable(name = "budget_comment",  joinColumns = {
146
			@JoinColumn(name = "budget", nullable = false, updatable = false)},
147
			inverseJoinColumns = { @JoinColumn(name = "comment",
148
					nullable = false, updatable = false) })
149
	private List<Comment> comments = new ArrayList<>();
150

    
151
	@ManyToMany(fetch = FetchType.LAZY, mappedBy = "budgets")
152
	private List<Organization> organizations = new ArrayList<>();
153
	
154
	public Budget() {
155
		
156
	}
157
	
158
	public User getUser() {
159
		return user;
160
	}
161

    
162
	public void setUser(User user) {
163
		this.user = user;
164
	}
165

    
166
	public String getId() {
167
		return this.id;
168
	}
169

    
170
	public void setId(String id) {
171
		this.id = id;
172
	}
173

    
174
	public float getAmountGranted() {
175
		return this.amountGranted;
176
	}
177

    
178
	public void setAmountGranted(float amountGranted) {
179
		this.amountGranted = amountGranted;
180
	}
181

    
182
	public float getAmountRequested() {
183
		return this.amountRequested;
184
	}
185

    
186
	public void setAmountRequested(float amountRequested) {
187
		this.amountRequested = amountRequested;
188
	}
189

    
190
	public String getBankAddress() {
191
		return this.bankAddress;
192
	}
193

    
194
	public void setBankAddress(String bankAddress) {
195
		this.bankAddress = bankAddress;
196
	}
197

    
198
	public String getBankCode() {
199
		return this.bankCode;
200
	}
201

    
202
	public void setBankCode(String bankCode) {
203
		this.bankCode = bankCode;
204
	}
205

    
206
	public String getBankHolder() {
207
		return this.bankHolder;
208
	}
209

    
210
	public void setBankHolder(String bankHolder) {
211
		this.bankHolder = bankHolder;
212
	}
213

    
214
	public String getBankIban() {
215
		return this.bankIban;
216
	}
217

    
218
	public void setBankIban(String bankIban) {
219
		this.bankIban = bankIban;
220
	}
221

    
222
	public String getBankName() {
223
		return this.bankName;
224
	}
225

    
226
	public void setBankName(String bankName) {
227
		this.bankName = bankName;
228
	}
229

    
230
	public byte[] getBankReceipt() {
231
		return this.bankReceipt;
232
	}
233

    
234
	public void setBankReceipt(byte[] bankReceipt) {
235
		this.bankReceipt = bankReceipt;
236
	}
237

    
238
	public String getBankReceiptContenttype() {
239
		return this.bankReceiptContenttype;
240
	}
241

    
242
	public void setBankReceiptContenttype(String bankReceiptContenttype) {
243
		this.bankReceiptContenttype = bankReceiptContenttype;
244
	}
245

    
246
	public String getBeneficiarysignedcontract() {
247
		return this.beneficiarysignedcontract;
248
	}
249

    
250
	public void setBeneficiarysignedcontract(String beneficiarysignedcontract) {
251
		this.beneficiarysignedcontract = beneficiarysignedcontract;
252
	}
253

    
254
	public String getCurrency() {
255
		return this.currency;
256
	}
257

    
258
	public void setCurrency(String currency) {
259
		this.currency = currency;
260
	}
261

    
262
	public Date getDate() {
263
		return this.date;
264
	}
265

    
266
	public void setDate(Date date) {
267
		this.date = date;
268
	}
269

    
270
	public Timestamp getDatePaid() {
271
		return this.datePaid;
272
	}
273

    
274
	public void setDatePaid(Timestamp datePaid) {
275
		this.datePaid = datePaid;
276
	}
277

    
278
	public Date getEnddate() {
279
		return this.enddate;
280
	}
281

    
282
	public void setEnddate(Date enddate) {
283
		this.enddate = enddate;
284
	}
285

    
286
	public Invoice getInvoice() {
287
		return this.invoice;
288
	}
289

    
290
	public void setInvoice(Invoice invoice) {
291
		this.invoice = invoice;
292
	}
293

    
294
	public Organization getOrganization() {
295
		return this.organization;
296
	}
297

    
298
	public void setOrganization(Organization organization) {
299
		this.organization = organization;
300
	}
301

    
302
	public float getOtherCost() {
303
		return this.otherCost;
304
	}
305

    
306
	public void setOtherCost(float otherCost) {
307
		this.otherCost = otherCost;
308
	}
309

    
310
	public Publisher getPublisher() {
311
		return this.publisher;
312
	}
313

    
314
	public void setPublisher(Publisher publisher) {
315
		this.publisher = publisher;
316
	}
317

    
318
	public float getRemaining() {
319
		return this.remaining;
320
	}
321

    
322
	public void setRemaining(float remaining) {
323
		this.remaining = remaining;
324
	}
325

    
326
	public String getSignedcontract() {
327
		return this.signedcontract;
328
	}
329

    
330
	public void setSignedcontract(String signedcontract) {
331
		this.signedcontract = signedcontract;
332
	}
333

    
334
	public Date getStartdate() {
335
		return this.startdate;
336
	}
337

    
338
	public void setStartdate(Date startdate) {
339
		this.startdate = startdate;
340
	}
341

    
342
	public Status getStatus() {
343
		return status;
344
	}
345

    
346
	public void setStatus(Status status) {
347
		this.status = status;
348
	}
349

    
350
	public float getTransferCost() {
351
		return this.transferCost;
352
	}
353

    
354
	public void setTransferCost(float transferCost) {
355
		this.transferCost = transferCost;
356
	}
357

    
358
	public List<Organization> getOrganizations() {
359
		return organizations;
360
	}
361

    
362
	public void setOrganizations(List<Organization> organizations) {
363
		this.organizations = organizations;
364
	}
365

    
366
	public List<Comment> getComments() {
367
		return comments;
368
	}
369

    
370
	public void setComments(List<Comment> comments) {
371
		this.comments = comments;
372
	}
373

    
374
	public Budgetfile getInitialcontractfile() {
375
		return initialcontractfile;
376
	}
377

    
378
	public void setInitialcontractfile(Budgetfile initialcontractfile) {
379
		this.initialcontractfile = initialcontractfile;
380
	}
381

    
382

    
383
	//	public Users getUser() {
384
//		return this.user;
385
//	}
386
//
387
//	public void setUser(Users user) {
388
//		this.user = user;
389
//	}
390

    
391
}
(5-5/39)