Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
23110 ashik.ali 1
package com.spice.profitmandi.dao.entity.transaction;
2
 
3
import java.io.Serializable;
4
import java.time.LocalDateTime;
23819 govind 5
import java.time.format.DateTimeFormatter;
23110 ashik.ali 6
 
7
import javax.persistence.Column;
8
import javax.persistence.Convert;
9
import javax.persistence.Entity;
10
import javax.persistence.GeneratedValue;
11
import javax.persistence.GenerationType;
12
import javax.persistence.Id;
28443 tejbeer 13
import javax.persistence.NamedQueries;
14
import javax.persistence.NamedQuery;
23110 ashik.ali 15
import javax.persistence.Table;
23968 amit.gupta 16
import javax.persistence.Transient;
23110 ashik.ali 17
 
18
import com.spice.profitmandi.dao.convertor.LocalDateTimeAttributeConverter;
19
 
20
/**
23819 govind 21
 * This class basically contains details
23110 ashik.ali 22
 * 
23
 * @author ashikali
24
 *
25
 */
23968 amit.gupta 26
/**
27
 * @author amit
28
 *
29
 */
23110 ashik.ali 30
@Entity
23819 govind 31
@Table(name = "transaction.price_drop", schema = "transaction")
28443 tejbeer 32
 
33
@NamedQueries({
34
		@NamedQuery(name = "PriceDrop.selectBrandPendingPriceDropByYearMonth", query = "select new com.spice.profitmandi.dao.model.PriceDropYearMonthModel(i.brand, "
35
				+ "   DATE_FORMAT(pd.affectedOn, '%m-%Y'),sum(cast(pd.amount As int)) ) from PriceDrop pd join  PriceDropIMEI pdi  on"
36
				+ " (pd.id = pdi.priceDropId) join InventoryItem it  on (pdi.imei = it.serialNumber and pdi.partnerId=it.fofoId)"
37
				+ " join Item i on i.id = it.itemId where pdi.status ='PENDING' and pdi.partnerId = :fofoId and "
38
				+ " pd.amount > 0 and pd.affectedOn >= :startDate group by i.brand, DATE_FORMAT(pd.affectedOn, '%m-%Y')"),
39
 
28455 tejbeer 40
		@NamedQuery(name = "PriceDrop.selectBrandPendingPriceDropWithDetailsByYearMonth", query = "select new com.spice.profitmandi.dao.model.PriceDropWithDetailsByYearMonthModel(i.brand, "
41
				+ "  i.modelName,i.modelNumber,cast(pd.amount As int),pdi.imei ) from PriceDrop pd join  PriceDropIMEI pdi  on"
42
				+ " (pd.id = pdi.priceDropId) join InventoryItem it  on (pdi.imei = it.serialNumber and pdi.partnerId=it.fofoId)"
43
				+ " join Item i on i.id = it.itemId where pdi.status ='PENDING' and pdi.partnerId = :fofoId and "
44
				+ " pd.amount > 0  and i.brand = :brand and DATE_FORMAT(pd.affectedOn, '%m-%Y') = :yearMonthValue"),
45
 
28443 tejbeer 46
})
23819 govind 47
public class PriceDrop implements Serializable {
48
 
23110 ashik.ali 49
	private static final long serialVersionUID = 1L;
23819 govind 50
 
23110 ashik.ali 51
	public PriceDrop() {
52
	}
23819 govind 53
 
23110 ashik.ali 54
	@Id
23819 govind 55
	@Column(name = "id")
23110 ashik.ali 56
	@GeneratedValue(strategy = GenerationType.IDENTITY)
57
	private int id;
23819 govind 58
 
23951 amit.gupta 59
	@Column(name = "catalog_id")
60
	private int catalogItemId;
24410 amit.gupta 61
 
62
	@Column(name = "amount")
63
	private float amount;
28443 tejbeer 64
 
65
	@Column(name = "new_dp")
24410 amit.gupta 66
	private float newDp;
28443 tejbeer 67
 
68
	@Column(name = "old_dp")
24410 amit.gupta 69
	private float oldDp;
28443 tejbeer 70
 
71
	@Column(name = "mop")
24410 amit.gupta 72
	private float mop;
28443 tejbeer 73
 
74
	@Column(name = "tp")
24410 amit.gupta 75
	private float tp;
28443 tejbeer 76
 
77
	@Column(name = "nlc")
24410 amit.gupta 78
	private float nlc;
28443 tejbeer 79
 
23968 amit.gupta 80
	@Transient
81
	private String description;
23819 govind 82
 
23968 amit.gupta 83
	public String getDescription() {
84
		return description;
85
	}
86
 
87
	public void setDescription(String description) {
88
		this.description = description;
89
	}
90
 
24049 amit.gupta 91
	public float getMop() {
92
		return mop;
93
	}
94
 
95
	public void setMop(float mop) {
96
		this.mop = mop;
97
	}
98
 
23968 amit.gupta 99
	public float getNewDp() {
100
		return newDp;
101
	}
102
 
103
	public void setNewDp(float newDp) {
104
		this.newDp = newDp;
105
	}
106
 
107
	public float getOldDp() {
108
		return oldDp;
109
	}
110
 
111
	public void setOldDp(float oldDp) {
112
		this.oldDp = oldDp;
113
	}
114
 
115
	public float getTp() {
116
		return tp;
117
	}
118
 
119
	public void setTp(float tp) {
120
		this.tp = tp;
121
	}
122
 
123
	public float getNlc() {
124
		return nlc;
125
	}
126
 
127
	public void setNlc(float nlc) {
128
		this.nlc = nlc;
129
	}
130
 
23819 govind 131
	@Column(name = "credit_note_number")
132
	private String creditNoteNumber;
133
 
23110 ashik.ali 134
	@Convert(converter = LocalDateTimeAttributeConverter.class)
135
	@Column(name = "process_timestamp")
23874 amit.gupta 136
	private LocalDateTime processTimestamp;
23819 govind 137
 
26400 amit.gupta 138
	@Convert(converter = LocalDateTimeAttributeConverter.class)
139
	@Column(name = "complete_timestamp")
140
	private LocalDateTime completeTimestamp;
28443 tejbeer 141
 
23823 amit.gupta 142
	@Column(name = "price_drop_in")
143
	private float priceDropIn;
28443 tejbeer 144
 
23823 amit.gupta 145
	@Column(name = "partner_payout")
146
	private float partnerPayout;
23819 govind 147
 
148
	@Convert(converter = LocalDateTimeAttributeConverter.class)
149
	@Column(name = "created_on")
150
	private LocalDateTime createdOn = LocalDateTime.now();
151
 
152
	@Convert(converter = LocalDateTimeAttributeConverter.class)
153
	@Column(name = "affected_on")
23874 amit.gupta 154
	private LocalDateTime affectedOn = LocalDateTime.now();
23819 govind 155
 
156
	@Convert(converter = LocalDateTimeAttributeConverter.class)
157
	@Column(name = "credit_note_date")
23874 amit.gupta 158
	private LocalDateTime creditNoteDate;
23819 govind 159
 
23110 ashik.ali 160
	public int getId() {
161
		return id;
162
	}
23819 govind 163
 
23110 ashik.ali 164
	public void setId(int id) {
165
		this.id = id;
166
	}
23819 govind 167
 
23823 amit.gupta 168
	public float getPriceDropIn() {
169
		return priceDropIn;
170
	}
171
 
172
	public void setPriceDropIn(float priceDropIn) {
173
		this.priceDropIn = priceDropIn;
174
	}
175
 
23951 amit.gupta 176
	public int getCatalogItemId() {
177
		return catalogItemId;
23110 ashik.ali 178
	}
23819 govind 179
 
23951 amit.gupta 180
	public void setCatalogItemId(int catalogItemId) {
181
		this.catalogItemId = catalogItemId;
23110 ashik.ali 182
	}
23819 govind 183
 
23951 amit.gupta 184
	@Override
185
	public String toString() {
28568 amit.gupta 186
		return "PriceDrop [id=" + id + ", catalogItemId=" + catalogItemId + ", amount=" + amount + ", newDp=" + newDp
187
				+ ", oldDp=" + oldDp + ", mop=" + mop + ", tp=" + tp + ", nlc=" + nlc + ", description=" + description
188
				+ ", creditNoteNumber=" + creditNoteNumber + ", processTimestamp=" + processTimestamp
189
				+ ", completeTimestamp=" + completeTimestamp + ", priceDropIn=" + priceDropIn + ", partnerPayout="
190
				+ partnerPayout + ", createdOn=" + createdOn + ", affectedOn=" + affectedOn + ", creditNoteDate="
191
				+ creditNoteDate + "]";
23951 amit.gupta 192
	}
193
 
23110 ashik.ali 194
	public float getAmount() {
195
		return amount;
196
	}
23819 govind 197
 
23110 ashik.ali 198
	public void setAmount(float amount) {
199
		this.amount = amount;
200
	}
23819 govind 201
 
23110 ashik.ali 202
	public LocalDateTime getProcessTimestamp() {
203
		return processTimestamp;
204
	}
23819 govind 205
 
23110 ashik.ali 206
	public void setProcessTimestamp(LocalDateTime processTimestamp) {
207
		this.processTimestamp = processTimestamp;
208
	}
23819 govind 209
 
210
	public String getCreditNoteNumber() {
211
		return creditNoteNumber;
212
	}
213
 
214
	public void setCreditNoteNumber(String creditNoteNumber) {
215
		this.creditNoteNumber = creditNoteNumber;
216
	}
217
 
218
	public LocalDateTime getCreatedOn() {
219
		return createdOn;
220
	}
221
 
222
	public void setCreatedOn(LocalDateTime createdOn) {
223
		this.createdOn = createdOn;
224
	}
225
 
23874 amit.gupta 226
	public LocalDateTime getAffectedOn() {
227
		return affectedOn;
23819 govind 228
	}
229
 
23874 amit.gupta 230
	public void setAffectedOn(LocalDateTime affectedOn) {
231
		this.affectedOn = affectedOn;
23819 govind 232
	}
233
 
234
	public LocalDateTime getCreditNoteDate() {
235
		return creditNoteDate;
236
	}
237
 
238
	public void setCreditNoteDate(LocalDateTime creditNoteDate) {
239
		this.creditNoteDate = creditNoteDate;
240
	}
241
 
23823 amit.gupta 242
	public float getPartnerPayout() {
243
		return partnerPayout;
23819 govind 244
	}
245
 
26340 amit.gupta 246
	public float getDropAmount() {
247
		return oldDp - newDp;
248
	}
28443 tejbeer 249
 
26332 amit.gupta 250
	public float getAutoPartnerPayout() {
28443 tejbeer 251
		if (this.getPartnerPayout() == 0) {
252
			return this.getDropAmount() / 1.18f;
26332 amit.gupta 253
		} else {
254
			return this.getPartnerPayout();
255
		}
256
	}
28443 tejbeer 257
 
23823 amit.gupta 258
	public void setPartnerPayout(float partnerPayout) {
259
		this.partnerPayout = partnerPayout;
23819 govind 260
	}
261
 
262
	public String getDate(LocalDateTime ldt) {
263
		DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/MM/dd");
264
		String s = dtf.format(ldt);
265
		return s;
266
	}
267
 
26400 amit.gupta 268
	public LocalDateTime getCompleteTimestamp() {
269
		return completeTimestamp;
270
	}
271
 
272
	public void setCompleteTimestamp(LocalDateTime completeTimestamp) {
273
		this.completeTimestamp = completeTimestamp;
274
	}
275
 
23110 ashik.ali 276
	@Override
277
	public int hashCode() {
278
		final int prime = 31;
279
		int result = 1;
280
		result = prime * result + id;
281
		return result;
282
	}
23819 govind 283
 
23110 ashik.ali 284
	@Override
285
	public boolean equals(Object obj) {
286
		if (this == obj)
287
			return true;
288
		if (obj == null)
289
			return false;
290
		if (getClass() != obj.getClass())
291
			return false;
292
		PriceDrop other = (PriceDrop) obj;
293
		if (id != other.id)
294
			return false;
295
		return true;
296
	}
23819 govind 297
 
23110 ashik.ali 298
}