Subversion Repositories SmartDukaan

Rev

Rev 27918 | Rev 29610 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
26588 tejbeer 1
package com.spice.profitmandi.dao.entity.catalog;
2
 
3
import java.io.Serializable;
4
import java.time.LocalDateTime;
5
 
6
import javax.persistence.Column;
7
import javax.persistence.Entity;
8
import javax.persistence.EnumType;
9
import javax.persistence.Enumerated;
10
import javax.persistence.GeneratedValue;
11
import javax.persistence.GenerationType;
12
import javax.persistence.Id;
13
import javax.persistence.Table;
27878 amit.gupta 14
import javax.persistence.Transient;
26588 tejbeer 15
 
27878 amit.gupta 16
import com.spice.profitmandi.dao.enumuration.catalog.OfferSchemeType;
27918 amit.gupta 17
import com.spice.profitmandi.dao.enumuration.catalog.AchievementType;
26588 tejbeer 18
 
19
@Entity
20
@Table(name = "catalog.offer", schema = "catalog")
21
public class Offer implements Serializable {
22
 
27878 amit.gupta 23
    @Id
24
    @Column(name = "id")
25
    @GeneratedValue(strategy = GenerationType.IDENTITY)
26
    private int id;
26588 tejbeer 27
 
28019 amit.gupta 28
    @Column(name = "brand_share_percentage", nullable = false)
27878 amit.gupta 29
    private double brandSharePercentage;
26588 tejbeer 30
 
28019 amit.gupta 31
 
32
 
26588 tejbeer 33
 
27878 amit.gupta 34
    @Column(name = "name")
35
    private String name;
26588 tejbeer 36
 
27878 amit.gupta 37
    @Column(name = "offer_notes")
38
    private String offerNotes;
26588 tejbeer 39
 
27878 amit.gupta 40
    @Column(name = "terms")
41
    private String terms;
26588 tejbeer 42
 
27878 amit.gupta 43
    @Column(name = "scheme_type")
44
    @Enumerated(EnumType.STRING)
45
    private OfferSchemeType schemeType;
26588 tejbeer 46
 
28019 amit.gupta 47
 
48
    @Column(name = "incremental_target", nullable = false)
49
    private boolean incrementalTarget;
50
 
27878 amit.gupta 51
    @Column(name = "sellin_percentage")
52
    private double sellinPercentage;
26674 tejbeer 53
 
27878 amit.gupta 54
    @Column(name = "target_type")
55
    @Enumerated(EnumType.STRING)
27918 amit.gupta 56
    private AchievementType targetType;
27878 amit.gupta 57
 
27918 amit.gupta 58
 
59
    @Column(name = "payout_type")
60
    @Enumerated(EnumType.STRING)
61
    private AchievementType payoutType;
62
 
27878 amit.gupta 63
    @Column(name = "activation_brands")
64
    private String activationBrands;
26694 tejbeer 65
 
27878 amit.gupta 66
    @Column(name = "item_criteria")
67
    private String itemCriteria;
26674 tejbeer 68
 
27878 amit.gupta 69
    @Column(name = "partner_criteria")
70
    private String partnerCriteria;
26674 tejbeer 71
 
27878 amit.gupta 72
    @Column(name = "start_date")
73
    private LocalDateTime startDate = LocalDateTime.now();
26674 tejbeer 74
 
27878 amit.gupta 75
    @Column(name = "end_date")
76
    private LocalDateTime endDate = LocalDateTime.now();
26694 tejbeer 77
 
27878 amit.gupta 78
    @Column(name = "created_timestamp")
79
    private LocalDateTime createdTimestamp = LocalDateTime.now();
26694 tejbeer 80
 
27878 amit.gupta 81
    @Column(name = "active", columnDefinition = "TINYINT(1)")
82
    private boolean active;
27918 amit.gupta 83
 
84
 
26694 tejbeer 85
 
27878 amit.gupta 86
 
27918 amit.gupta 87
    public AchievementType getPayoutType() {
88
		return payoutType;
89
	}
90
 
91
	public void setPayoutType(AchievementType payoutType) {
92
		this.payoutType = payoutType;
93
	}
94
 
95
	@Override
96
	public String toString() {
97
		return "Offer [id=" + id + ", brandSharePercentage=" + brandSharePercentage + ", name=" + name + ", offerNotes="
28019 amit.gupta 98
				+ offerNotes + ", terms=" + terms + ", schemeType=" + schemeType + ", incrementalTarget="
99
				+ incrementalTarget + ", sellinPercentage=" + sellinPercentage + ", targetType=" + targetType
100
				+ ", payoutType=" + payoutType + ", activationBrands=" + activationBrands + ", itemCriteria="
101
				+ itemCriteria + ", partnerCriteria=" + partnerCriteria + ", startDate=" + startDate + ", endDate="
102
				+ endDate + ", createdTimestamp=" + createdTimestamp + ", active=" + active + ", itemCriteriaString="
103
				+ itemCriteriaString + "]";
27918 amit.gupta 104
	}
28019 amit.gupta 105
 
106
 
27918 amit.gupta 107
 
28019 amit.gupta 108
	public boolean isIncrementalTarget() {
109
		return incrementalTarget;
110
	}
111
 
112
	public void setIncrementalTarget(boolean incrementalTarget) {
113
		this.incrementalTarget = incrementalTarget;
114
	}
115
 
27918 amit.gupta 116
	@Override
27878 amit.gupta 117
	public boolean equals(Object obj) {
118
		if (this == obj)
119
			return true;
120
		if (obj == null)
121
			return false;
122
		if (getClass() != obj.getClass())
123
			return false;
124
		Offer other = (Offer) obj;
125
		if (activationBrands == null) {
126
			if (other.activationBrands != null)
127
				return false;
128
		} else if (!activationBrands.equals(other.activationBrands))
129
			return false;
130
		if (active != other.active)
131
			return false;
132
		if (Double.doubleToLongBits(brandSharePercentage) != Double.doubleToLongBits(other.brandSharePercentage))
133
			return false;
134
		if (createdTimestamp == null) {
135
			if (other.createdTimestamp != null)
136
				return false;
137
		} else if (!createdTimestamp.equals(other.createdTimestamp))
138
			return false;
139
		if (endDate == null) {
140
			if (other.endDate != null)
141
				return false;
142
		} else if (!endDate.equals(other.endDate))
143
			return false;
144
		if (id != other.id)
145
			return false;
28019 amit.gupta 146
		if (incrementalTarget != other.incrementalTarget)
147
			return false;
27878 amit.gupta 148
		if (itemCriteria == null) {
149
			if (other.itemCriteria != null)
150
				return false;
151
		} else if (!itemCriteria.equals(other.itemCriteria))
152
			return false;
153
		if (itemCriteriaString == null) {
154
			if (other.itemCriteriaString != null)
155
				return false;
156
		} else if (!itemCriteriaString.equals(other.itemCriteriaString))
157
			return false;
158
		if (name == null) {
159
			if (other.name != null)
160
				return false;
161
		} else if (!name.equals(other.name))
162
			return false;
163
		if (offerNotes == null) {
164
			if (other.offerNotes != null)
165
				return false;
166
		} else if (!offerNotes.equals(other.offerNotes))
167
			return false;
168
		if (partnerCriteria == null) {
169
			if (other.partnerCriteria != null)
170
				return false;
171
		} else if (!partnerCriteria.equals(other.partnerCriteria))
172
			return false;
27918 amit.gupta 173
		if (payoutType != other.payoutType)
174
			return false;
27878 amit.gupta 175
		if (schemeType != other.schemeType)
176
			return false;
177
		if (Double.doubleToLongBits(sellinPercentage) != Double.doubleToLongBits(other.sellinPercentage))
178
			return false;
179
		if (startDate == null) {
180
			if (other.startDate != null)
181
				return false;
182
		} else if (!startDate.equals(other.startDate))
183
			return false;
184
		if (targetType != other.targetType)
185
			return false;
186
		if (terms == null) {
187
			if (other.terms != null)
188
				return false;
189
		} else if (!terms.equals(other.terms))
190
			return false;
191
		return true;
26588 tejbeer 192
	}
193
 
27878 amit.gupta 194
    @Override
195
	public int hashCode() {
196
		final int prime = 31;
197
		int result = 1;
198
		result = prime * result + ((activationBrands == null) ? 0 : activationBrands.hashCode());
199
		result = prime * result + (active ? 1231 : 1237);
200
		long temp;
201
		temp = Double.doubleToLongBits(brandSharePercentage);
202
		result = prime * result + (int) (temp ^ (temp >>> 32));
203
		result = prime * result + ((createdTimestamp == null) ? 0 : createdTimestamp.hashCode());
204
		result = prime * result + ((endDate == null) ? 0 : endDate.hashCode());
205
		result = prime * result + id;
28019 amit.gupta 206
		result = prime * result + (incrementalTarget ? 1231 : 1237);
27878 amit.gupta 207
		result = prime * result + ((itemCriteria == null) ? 0 : itemCriteria.hashCode());
208
		result = prime * result + ((itemCriteriaString == null) ? 0 : itemCriteriaString.hashCode());
209
		result = prime * result + ((name == null) ? 0 : name.hashCode());
210
		result = prime * result + ((offerNotes == null) ? 0 : offerNotes.hashCode());
211
		result = prime * result + ((partnerCriteria == null) ? 0 : partnerCriteria.hashCode());
27918 amit.gupta 212
		result = prime * result + ((payoutType == null) ? 0 : payoutType.hashCode());
27878 amit.gupta 213
		result = prime * result + ((schemeType == null) ? 0 : schemeType.hashCode());
214
		temp = Double.doubleToLongBits(sellinPercentage);
215
		result = prime * result + (int) (temp ^ (temp >>> 32));
216
		result = prime * result + ((startDate == null) ? 0 : startDate.hashCode());
217
		result = prime * result + ((targetType == null) ? 0 : targetType.hashCode());
218
		result = prime * result + ((terms == null) ? 0 : terms.hashCode());
219
		return result;
26588 tejbeer 220
	}
221
 
27878 amit.gupta 222
    @Transient
223
    private String itemCriteriaString;
224
 
225
    public String getItemCriteriaString() {
226
        return itemCriteriaString;
227
    }
228
 
229
 
230
 
231
    public String getActivationBrands() {
232
		return activationBrands;
26588 tejbeer 233
	}
234
 
27878 amit.gupta 235
	public void setActivationBrands(String activationBrands) {
236
		this.activationBrands = activationBrands;
26588 tejbeer 237
	}
238
 
27878 amit.gupta 239
	public void setItemCriteriaString(String itemCriteriaString) {
240
        this.itemCriteriaString = itemCriteriaString;
241
    }
26588 tejbeer 242
 
27878 amit.gupta 243
    public int getId() {
244
        return id;
245
    }
26588 tejbeer 246
 
27878 amit.gupta 247
    public double getBrandSharePercentage() {
248
        return brandSharePercentage;
249
    }
26588 tejbeer 250
 
27878 amit.gupta 251
    public void setBrandSharePercentage(double brandSharePercentage) {
252
        this.brandSharePercentage = brandSharePercentage;
253
    }
26588 tejbeer 254
 
27878 amit.gupta 255
    public void setId(int id) {
256
        this.id = id;
257
    }
26588 tejbeer 258
 
27878 amit.gupta 259
    public String getName() {
260
        return name;
261
    }
26588 tejbeer 262
 
27878 amit.gupta 263
    public void setName(String name) {
264
        this.name = name;
265
    }
26588 tejbeer 266
 
27878 amit.gupta 267
    public String getOfferNotes() {
268
        return offerNotes;
269
    }
26588 tejbeer 270
 
27878 amit.gupta 271
    public void setOfferNotes(String offerNotes) {
272
        this.offerNotes = offerNotes;
273
    }
26588 tejbeer 274
 
27878 amit.gupta 275
    public String getTerms() {
276
        return terms;
277
    }
26588 tejbeer 278
 
27878 amit.gupta 279
    public void setTerms(String terms) {
280
        this.terms = terms;
281
    }
26588 tejbeer 282
 
27878 amit.gupta 283
    public OfferSchemeType getSchemeType() {
284
        return schemeType;
285
    }
26588 tejbeer 286
 
27878 amit.gupta 287
    public void setSchemeType(OfferSchemeType schemeType) {
288
        this.schemeType = schemeType;
289
    }
26588 tejbeer 290
 
27878 amit.gupta 291
    public double getSellinPercentage() {
292
        return sellinPercentage;
293
    }
26588 tejbeer 294
 
27878 amit.gupta 295
    public void setSellinPercentage(double sellinPercentage) {
296
        this.sellinPercentage = sellinPercentage;
297
    }
26588 tejbeer 298
 
27918 amit.gupta 299
    public AchievementType getTargetType() {
27878 amit.gupta 300
        return targetType;
301
    }
26588 tejbeer 302
 
27918 amit.gupta 303
    public void setTargetType(AchievementType targetType) {
27878 amit.gupta 304
        this.targetType = targetType;
305
    }
26694 tejbeer 306
 
27878 amit.gupta 307
    public String getItemCriteria() {
308
        return itemCriteria;
309
    }
26694 tejbeer 310
 
27878 amit.gupta 311
    public void setItemCriteria(String itemCriteria) {
312
        this.itemCriteria = itemCriteria;
313
    }
26588 tejbeer 314
 
27878 amit.gupta 315
    public String getPartnerCriteria() {
316
        return partnerCriteria;
317
    }
26674 tejbeer 318
 
27878 amit.gupta 319
    public void setPartnerCriteria(String partnerCriteria) {
320
        this.partnerCriteria = partnerCriteria;
321
    }
26674 tejbeer 322
 
27878 amit.gupta 323
    public LocalDateTime getStartDate() {
324
        return startDate;
325
    }
26674 tejbeer 326
 
27878 amit.gupta 327
    public void setStartDate(LocalDateTime startDate) {
328
        this.startDate = startDate;
329
    }
26588 tejbeer 330
 
27878 amit.gupta 331
    public LocalDateTime getEndDate() {
332
        return endDate;
333
    }
26588 tejbeer 334
 
27878 amit.gupta 335
    public void setEndDate(LocalDateTime endDate) {
336
        this.endDate = endDate;
337
    }
26588 tejbeer 338
 
27878 amit.gupta 339
    public LocalDateTime getCreatedTimestamp() {
340
        return createdTimestamp;
341
    }
26588 tejbeer 342
 
27878 amit.gupta 343
    public void setCreatedTimestamp(LocalDateTime createdTimestamp) {
344
        this.createdTimestamp = createdTimestamp;
345
    }
26588 tejbeer 346
 
347
 
348
 
27878 amit.gupta 349
    public boolean isActive() {
350
        return active;
351
    }
26588 tejbeer 352
 
27878 amit.gupta 353
    public void setActive(boolean active) {
354
        this.active = active;
355
    }
26588 tejbeer 356
 
27878 amit.gupta 357
}