Subversion Repositories SmartDukaan

Rev

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