Subversion Repositories SmartDukaan

Rev

Rev 32868 | Rev 32950 | 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
 
29950 amit.gupta 3
import com.spice.profitmandi.dao.enumuration.catalog.AchievementType;
4
import com.spice.profitmandi.dao.enumuration.catalog.OfferSchemeType;
5
 
6
import javax.persistence.*;
26588 tejbeer 7
import java.io.Serializable;
8
import java.time.LocalDateTime;
32949 shampa 9
@NamedQueries({
26588 tejbeer 10
 
32949 shampa 11
 
12
//@NamedQuery(name = "Offer.selectOfferPayoutDumpReport", query = "select new com.spice.profitmandi.dao.model.OfferPayoutDumpModel(fs.id,  fs.code, "+
13
		//" ua.name,ua.city, ua.state,  i.brand, i.modelName, i.modelNumber i.color, op.id, op.serialNumber, op.offerId, o.name, o.schemeType, o.startDate, o.endDate, op.description," +
14
		//" op.slabAmount, op.amount, op.createTimestamp, op.rejectTimestamp" +
15
		//" FROM FofoStore fs join User u on u.id = fs.id join Address ua on u.addressId = ua.id " +
16
		//" join  OfferPayout op  on op.fofoId=fs.id + join Offer o on o.id=op.offerId +" +
17
		//"left join InventoryItem ii on ii.serialNumber=op.serialNumber  left join Item i on i.id=ii.itemId " +
18
		//"where  (op.createTimestamp between :startDate and :endDate) "  +
19
		//"or (op.rejectTimestamp  between :startDate and :endDate) " )
20
		//group by op.id
21
		//" where 1=1 and  o.billingTimestamp between :startDate and :endDate and o.retailerId = :fofoId "),
22
		@NamedQuery(name = "Offer.selectOfferPayoutDumpReport", query = "select new com.spice.profitmandi.dao.model.OfferPayoutDumpModel(fs.id, fs.code, " +
23
				"ua.name, ua.city, ua.state, i.brand, i.modelName, i.modelNumber, i.color,  op.serialNumber, op.offerId, o.name, o.schemeType, o.startDate, o.endDate, op.description, " +
24
				"op.slabAmount, op.amount, op.createTimestamp, op.rejectTimestamp) " +
25
				"FROM FofoStore fs " +
26
				"JOIN User u ON u.id = fs.id " +
27
				"JOIN Address ua ON u.addressId = ua.id " +
28
				"JOIN OfferPayout op ON op.fofoId = fs.id " +
29
				"JOIN Offer o ON o.id = op.offerId " +
30
				"LEFT JOIN InventoryItem ii ON ii.serialNumber = op.serialNumber " +
31
				"LEFT JOIN Item i ON i.id = ii.itemId " +
32
				"WHERE (op.createTimestamp BETWEEN :startDate AND :endDate) " +
33
				"OR (op.rejectTimestamp BETWEEN :startDate AND :endDate)")
34
 
35
 
36
})
26588 tejbeer 37
@Entity
31860 tejbeer 38
@Table(name = "catalog.offer")
26588 tejbeer 39
public class Offer implements Serializable {
40
 
29707 tejbeer 41
	@Id
42
	@Column(name = "id")
43
	@GeneratedValue(strategy = GenerationType.IDENTITY)
44
	private int id;
26588 tejbeer 45
 
29707 tejbeer 46
	@Column(name = "brand_share_percentage", nullable = false)
47
	private double brandSharePercentage;
26588 tejbeer 48
 
29707 tejbeer 49
	@Column(name = "name")
50
	private String name;
26588 tejbeer 51
 
29707 tejbeer 52
	@Column(name = "offer_notes")
53
	private String offerNotes;
26588 tejbeer 54
 
29707 tejbeer 55
	@Column(name = "terms")
56
	private String terms;
26588 tejbeer 57
 
29707 tejbeer 58
	@Column(name = "scheme_type")
59
	@Enumerated(EnumType.STRING)
60
	private OfferSchemeType schemeType;
26588 tejbeer 61
 
30121 amit.gupta 62
	@Column(name = "base_criteria", nullable = false)
29795 amit.gupta 63
	private boolean baseCriteia;
26588 tejbeer 64
 
29707 tejbeer 65
	@Column(name = "sellin_percentage")
66
	private double sellinPercentage;
28019 amit.gupta 67
 
29707 tejbeer 68
	@Column(name = "target_type")
69
	@Enumerated(EnumType.STRING)
70
	private AchievementType targetType;
26674 tejbeer 71
 
29707 tejbeer 72
	@Column(name = "payout_type")
73
	@Enumerated(EnumType.STRING)
74
	private AchievementType payoutType;
26694 tejbeer 75
 
29707 tejbeer 76
	@Column(name = "activation_brands")
77
	private String activationBrands;
26674 tejbeer 78
 
29707 tejbeer 79
	@Column(name = "item_criteria")
80
	private String itemCriteria;
26674 tejbeer 81
 
29707 tejbeer 82
	@Column(name = "partner_criteria")
83
	private String partnerCriteria;
26674 tejbeer 84
 
29707 tejbeer 85
	@Column(name = "start_date")
86
	private LocalDateTime startDate = LocalDateTime.now();
26694 tejbeer 87
 
29707 tejbeer 88
	@Column(name = "end_date")
89
	private LocalDateTime endDate = LocalDateTime.now();
26694 tejbeer 90
 
29707 tejbeer 91
	@Column(name = "created_timestamp")
92
	private LocalDateTime createdTimestamp = LocalDateTime.now();
26694 tejbeer 93
 
31191 amit.gupta 94
	@Column(name = "booster")
95
	private boolean booster = false;
96
 
32021 amit.gupta 97
 
98
	@Column(name = "discount")
99
	private boolean discount = false;
100
 
29707 tejbeer 101
	@Column(name = "active", columnDefinition = "TINYINT(1)")
102
	private boolean active;
27878 amit.gupta 103
 
31606 amit.gupta 104
	public LocalDateTime getProcessedTimestamp() {
105
		return processedTimestamp;
106
	}
107
 
108
	public void setProcessedTimestamp(LocalDateTime processedTimestamp) {
109
		this.processedTimestamp = processedTimestamp;
110
	}
111
 
31618 amit.gupta 112
	@Column(name = "processed_timestamp")
31605 amit.gupta 113
	private LocalDateTime processedTimestamp;
114
 
29950 amit.gupta 115
 
29707 tejbeer 116
	public AchievementType getPayoutType() {
27918 amit.gupta 117
		return payoutType;
118
	}
119
 
120
	public void setPayoutType(AchievementType payoutType) {
121
		this.payoutType = payoutType;
122
	}
123
 
29795 amit.gupta 124
	public boolean isBaseCriteia() {
125
		return baseCriteia;
28019 amit.gupta 126
	}
127
 
29795 amit.gupta 128
	public void setBaseCriteia(boolean baseCriteia) {
129
		this.baseCriteia = baseCriteia;
28019 amit.gupta 130
	}
131
 
31191 amit.gupta 132
	public boolean isBooster() {
133
		return booster;
134
	}
135
 
136
	public void setBooster(boolean booster) {
137
		this.booster = booster;
138
	}
139
 
29610 amit.gupta 140
	@Transient
27878 amit.gupta 141
 
142
 
32949 shampa 143
 
144
 
29707 tejbeer 145
	public String getActivationBrands() {
27878 amit.gupta 146
		return activationBrands;
26588 tejbeer 147
	}
148
 
27878 amit.gupta 149
	public void setActivationBrands(String activationBrands) {
150
		this.activationBrands = activationBrands;
26588 tejbeer 151
	}
152
 
153
 
29707 tejbeer 154
	public int getId() {
155
		return id;
156
	}
26588 tejbeer 157
 
29707 tejbeer 158
	public double getBrandSharePercentage() {
159
		return brandSharePercentage;
160
	}
26588 tejbeer 161
 
29707 tejbeer 162
	public void setBrandSharePercentage(double brandSharePercentage) {
163
		this.brandSharePercentage = brandSharePercentage;
164
	}
26588 tejbeer 165
 
29707 tejbeer 166
	public void setId(int id) {
167
		this.id = id;
168
	}
26588 tejbeer 169
 
29707 tejbeer 170
	public String getName() {
171
		return name;
172
	}
26588 tejbeer 173
 
29707 tejbeer 174
	public void setName(String name) {
175
		this.name = name;
176
	}
26588 tejbeer 177
 
29707 tejbeer 178
	public String getOfferNotes() {
179
		return offerNotes;
180
	}
26588 tejbeer 181
 
29707 tejbeer 182
	public void setOfferNotes(String offerNotes) {
183
		this.offerNotes = offerNotes;
184
	}
26588 tejbeer 185
 
29707 tejbeer 186
	public String getTerms() {
187
		return terms;
188
	}
26588 tejbeer 189
 
29707 tejbeer 190
	public void setTerms(String terms) {
191
		this.terms = terms;
192
	}
26588 tejbeer 193
 
29707 tejbeer 194
	public OfferSchemeType getSchemeType() {
195
		return schemeType;
196
	}
26588 tejbeer 197
 
29707 tejbeer 198
	public void setSchemeType(OfferSchemeType schemeType) {
199
		this.schemeType = schemeType;
200
	}
26588 tejbeer 201
 
29707 tejbeer 202
	public double getSellinPercentage() {
203
		return sellinPercentage;
204
	}
26588 tejbeer 205
 
29707 tejbeer 206
	public void setSellinPercentage(double sellinPercentage) {
207
		this.sellinPercentage = sellinPercentage;
208
	}
26588 tejbeer 209
 
29707 tejbeer 210
	public AchievementType getTargetType() {
211
		return targetType;
212
	}
26588 tejbeer 213
 
29707 tejbeer 214
	public void setTargetType(AchievementType targetType) {
215
		this.targetType = targetType;
216
	}
26694 tejbeer 217
 
29707 tejbeer 218
	public String getItemCriteria() {
219
		return itemCriteria;
220
	}
26694 tejbeer 221
 
29707 tejbeer 222
	public void setItemCriteria(String itemCriteria) {
223
		this.itemCriteria = itemCriteria;
224
	}
26588 tejbeer 225
 
29707 tejbeer 226
	public String getPartnerCriteria() {
227
		return partnerCriteria;
228
	}
26674 tejbeer 229
 
29707 tejbeer 230
	public void setPartnerCriteria(String partnerCriteria) {
231
		this.partnerCriteria = partnerCriteria;
232
	}
26674 tejbeer 233
 
29707 tejbeer 234
	public LocalDateTime getStartDate() {
235
		return startDate;
236
	}
26674 tejbeer 237
 
29707 tejbeer 238
	public void setStartDate(LocalDateTime startDate) {
239
		this.startDate = startDate;
240
	}
26588 tejbeer 241
 
29707 tejbeer 242
	public LocalDateTime getEndDate() {
243
		return endDate;
244
	}
26588 tejbeer 245
 
29707 tejbeer 246
	public void setEndDate(LocalDateTime endDate) {
247
		this.endDate = endDate;
248
	}
26588 tejbeer 249
 
29707 tejbeer 250
	public LocalDateTime getCreatedTimestamp() {
251
		return createdTimestamp;
252
	}
26588 tejbeer 253
 
29707 tejbeer 254
	public void setCreatedTimestamp(LocalDateTime createdTimestamp) {
255
		this.createdTimestamp = createdTimestamp;
256
	}
26588 tejbeer 257
 
29707 tejbeer 258
	public boolean isActive() {
259
		return active;
260
	}
26588 tejbeer 261
 
29707 tejbeer 262
	public void setActive(boolean active) {
263
		this.active = active;
264
	}
26588 tejbeer 265
 
32021 amit.gupta 266
	@Override
267
	public String toString() {
268
		return "Offer{" +
269
				"id=" + id +
270
				", brandSharePercentage=" + brandSharePercentage +
271
				", name='" + name + '\'' +
272
				", offerNotes='" + offerNotes + '\'' +
273
				", terms='" + terms + '\'' +
274
				", schemeType=" + schemeType +
275
				", baseCriteia=" + baseCriteia +
276
				", sellinPercentage=" + sellinPercentage +
277
				", targetType=" + targetType +
278
				", payoutType=" + payoutType +
279
				", activationBrands='" + activationBrands + '\'' +
280
				", itemCriteria='" + itemCriteria + '\'' +
281
				", partnerCriteria='" + partnerCriteria + '\'' +
282
				", startDate=" + startDate +
283
				", endDate=" + endDate +
284
				", createdTimestamp=" + createdTimestamp +
285
				", booster=" + booster +
286
				", discount=" + discount +
287
				", active=" + active +
288
				", processedTimestamp=" + processedTimestamp +
32949 shampa 289
 
32021 amit.gupta 290
				'}';
291
	}
292
 
293
	public boolean isDiscount() {
294
		return discount;
295
	}
296
 
297
	public void setDiscount(boolean discount) {
298
		this.discount = discount;
299
	}
27878 amit.gupta 300
}