Subversion Repositories SmartDukaan

Rev

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