Subversion Repositories SmartDukaan

Rev

Rev 26851 | Rev 28455 | 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
 
40
})
23819 govind 41
public class PriceDrop implements Serializable {
42
 
23110 ashik.ali 43
	private static final long serialVersionUID = 1L;
23819 govind 44
 
23110 ashik.ali 45
	public PriceDrop() {
46
	}
23819 govind 47
 
23110 ashik.ali 48
	@Id
23819 govind 49
	@Column(name = "id")
23110 ashik.ali 50
	@GeneratedValue(strategy = GenerationType.IDENTITY)
51
	private int id;
23819 govind 52
 
23951 amit.gupta 53
	@Column(name = "catalog_id")
54
	private int catalogItemId;
24410 amit.gupta 55
 
56
	@Column(name = "amount")
57
	private float amount;
28443 tejbeer 58
 
59
	@Column(name = "new_dp")
24410 amit.gupta 60
	private float newDp;
28443 tejbeer 61
 
62
	@Column(name = "old_dp")
24410 amit.gupta 63
	private float oldDp;
28443 tejbeer 64
 
65
	@Column(name = "mop")
24410 amit.gupta 66
	private float mop;
28443 tejbeer 67
 
68
	@Column(name = "tp")
24410 amit.gupta 69
	private float tp;
28443 tejbeer 70
 
71
	@Column(name = "nlc")
24410 amit.gupta 72
	private float nlc;
28443 tejbeer 73
 
23968 amit.gupta 74
	@Transient
75
	private String description;
23819 govind 76
 
23968 amit.gupta 77
	public String getDescription() {
78
		return description;
79
	}
80
 
81
	public void setDescription(String description) {
82
		this.description = description;
83
	}
84
 
24049 amit.gupta 85
	public float getMop() {
86
		return mop;
87
	}
88
 
89
	public void setMop(float mop) {
90
		this.mop = mop;
91
	}
92
 
23968 amit.gupta 93
	public float getNewDp() {
94
		return newDp;
95
	}
96
 
97
	public void setNewDp(float newDp) {
98
		this.newDp = newDp;
99
	}
100
 
101
	public float getOldDp() {
102
		return oldDp;
103
	}
104
 
105
	public void setOldDp(float oldDp) {
106
		this.oldDp = oldDp;
107
	}
108
 
109
	public float getTp() {
110
		return tp;
111
	}
112
 
113
	public void setTp(float tp) {
114
		this.tp = tp;
115
	}
116
 
117
	public float getNlc() {
118
		return nlc;
119
	}
120
 
121
	public void setNlc(float nlc) {
122
		this.nlc = nlc;
123
	}
124
 
23819 govind 125
	@Column(name = "credit_note_number")
126
	private String creditNoteNumber;
127
 
23110 ashik.ali 128
	@Convert(converter = LocalDateTimeAttributeConverter.class)
129
	@Column(name = "process_timestamp")
23874 amit.gupta 130
	private LocalDateTime processTimestamp;
23819 govind 131
 
26400 amit.gupta 132
	@Convert(converter = LocalDateTimeAttributeConverter.class)
133
	@Column(name = "complete_timestamp")
134
	private LocalDateTime completeTimestamp;
28443 tejbeer 135
 
23823 amit.gupta 136
	@Column(name = "price_drop_in")
137
	private float priceDropIn;
28443 tejbeer 138
 
23823 amit.gupta 139
	@Column(name = "partner_payout")
140
	private float partnerPayout;
23819 govind 141
 
142
	@Convert(converter = LocalDateTimeAttributeConverter.class)
143
	@Column(name = "created_on")
144
	private LocalDateTime createdOn = LocalDateTime.now();
145
 
146
	@Convert(converter = LocalDateTimeAttributeConverter.class)
147
	@Column(name = "affected_on")
23874 amit.gupta 148
	private LocalDateTime affectedOn = LocalDateTime.now();
23819 govind 149
 
150
	@Convert(converter = LocalDateTimeAttributeConverter.class)
151
	@Column(name = "credit_note_date")
23874 amit.gupta 152
	private LocalDateTime creditNoteDate;
23819 govind 153
 
23110 ashik.ali 154
	public int getId() {
155
		return id;
156
	}
23819 govind 157
 
23110 ashik.ali 158
	public void setId(int id) {
159
		this.id = id;
160
	}
23819 govind 161
 
23823 amit.gupta 162
	public float getPriceDropIn() {
163
		return priceDropIn;
164
	}
165
 
166
	public void setPriceDropIn(float priceDropIn) {
167
		this.priceDropIn = priceDropIn;
168
	}
169
 
23951 amit.gupta 170
	public int getCatalogItemId() {
171
		return catalogItemId;
23110 ashik.ali 172
	}
23819 govind 173
 
23951 amit.gupta 174
	public void setCatalogItemId(int catalogItemId) {
175
		this.catalogItemId = catalogItemId;
23110 ashik.ali 176
	}
23819 govind 177
 
23951 amit.gupta 178
	@Override
179
	public String toString() {
23968 amit.gupta 180
		return "PriceDrop [id=" + id + ", catalogItemId=" + catalogItemId + ", description=" + description + ", amount="
24049 amit.gupta 181
				+ amount + ", newDp=" + newDp + ", mop=" + mop + ", oldDp=" + oldDp + ", tp=" + tp + ", nlc=" + nlc
23968 amit.gupta 182
				+ ", creditNoteNumber=" + creditNoteNumber + ", processTimestamp=" + processTimestamp + ", priceDropIn="
183
				+ priceDropIn + ", partnerPayout=" + partnerPayout + ", createdOn=" + createdOn + ", affectedOn="
184
				+ affectedOn + ", creditNoteDate=" + creditNoteDate + "]";
23951 amit.gupta 185
	}
186
 
23110 ashik.ali 187
	public float getAmount() {
188
		return amount;
189
	}
23819 govind 190
 
23110 ashik.ali 191
	public void setAmount(float amount) {
192
		this.amount = amount;
193
	}
23819 govind 194
 
23110 ashik.ali 195
	public LocalDateTime getProcessTimestamp() {
196
		return processTimestamp;
197
	}
23819 govind 198
 
23110 ashik.ali 199
	public void setProcessTimestamp(LocalDateTime processTimestamp) {
200
		this.processTimestamp = processTimestamp;
201
	}
23819 govind 202
 
203
	public String getCreditNoteNumber() {
204
		return creditNoteNumber;
205
	}
206
 
207
	public void setCreditNoteNumber(String creditNoteNumber) {
208
		this.creditNoteNumber = creditNoteNumber;
209
	}
210
 
211
	public LocalDateTime getCreatedOn() {
212
		return createdOn;
213
	}
214
 
215
	public void setCreatedOn(LocalDateTime createdOn) {
216
		this.createdOn = createdOn;
217
	}
218
 
23874 amit.gupta 219
	public LocalDateTime getAffectedOn() {
220
		return affectedOn;
23819 govind 221
	}
222
 
23874 amit.gupta 223
	public void setAffectedOn(LocalDateTime affectedOn) {
224
		this.affectedOn = affectedOn;
23819 govind 225
	}
226
 
227
	public LocalDateTime getCreditNoteDate() {
228
		return creditNoteDate;
229
	}
230
 
231
	public void setCreditNoteDate(LocalDateTime creditNoteDate) {
232
		this.creditNoteDate = creditNoteDate;
233
	}
234
 
23823 amit.gupta 235
	public float getPartnerPayout() {
236
		return partnerPayout;
23819 govind 237
	}
238
 
26340 amit.gupta 239
	public float getDropAmount() {
240
		return oldDp - newDp;
241
	}
28443 tejbeer 242
 
26332 amit.gupta 243
	public float getAutoPartnerPayout() {
28443 tejbeer 244
		if (this.getPartnerPayout() == 0) {
245
			return this.getDropAmount() / 1.18f;
26332 amit.gupta 246
		} else {
247
			return this.getPartnerPayout();
248
		}
249
	}
28443 tejbeer 250
 
23823 amit.gupta 251
	public void setPartnerPayout(float partnerPayout) {
252
		this.partnerPayout = partnerPayout;
23819 govind 253
	}
254
 
255
	public String getDate(LocalDateTime ldt) {
256
		DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/MM/dd");
257
		String s = dtf.format(ldt);
258
		return s;
259
	}
260
 
26400 amit.gupta 261
	public LocalDateTime getCompleteTimestamp() {
262
		return completeTimestamp;
263
	}
264
 
265
	public void setCompleteTimestamp(LocalDateTime completeTimestamp) {
266
		this.completeTimestamp = completeTimestamp;
267
	}
268
 
23110 ashik.ali 269
	@Override
270
	public int hashCode() {
271
		final int prime = 31;
272
		int result = 1;
273
		result = prime * result + id;
274
		return result;
275
	}
23819 govind 276
 
23110 ashik.ali 277
	@Override
278
	public boolean equals(Object obj) {
279
		if (this == obj)
280
			return true;
281
		if (obj == null)
282
			return false;
283
		if (getClass() != obj.getClass())
284
			return false;
285
		PriceDrop other = (PriceDrop) obj;
286
		if (id != other.id)
287
			return false;
288
		return true;
289
	}
23819 govind 290
 
23110 ashik.ali 291
}