Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
21714 ashik.ali 1
package com.spice.profitmandi.dao.entity.fofo;
21552 ashik.ali 2
 
3
import java.time.LocalDateTime;
4
 
21653 ashik.ali 5
import javax.persistence.CascadeType;
21552 ashik.ali 6
import javax.persistence.Column;
21639 kshitij.so 7
import javax.persistence.Convert;
21552 ashik.ali 8
import javax.persistence.Entity;
9
import javax.persistence.EnumType;
10
import javax.persistence.Enumerated;
21653 ashik.ali 11
import javax.persistence.FetchType;
21552 ashik.ali 12
import javax.persistence.GeneratedValue;
13
import javax.persistence.GenerationType;
14
import javax.persistence.Id;
21653 ashik.ali 15
import javax.persistence.JoinColumn;
21552 ashik.ali 16
import javax.persistence.NamedQueries;
17
import javax.persistence.NamedQuery;
21653 ashik.ali 18
import javax.persistence.OneToOne;
21552 ashik.ali 19
import javax.persistence.Table;
20
 
22216 ashik.ali 21
import org.hibernate.annotations.UpdateTimestamp;
22
 
21639 kshitij.so 23
import com.spice.profitmandi.dao.convertor.LocalDateTimeAttributeConverter;
21714 ashik.ali 24
import com.spice.profitmandi.dao.entity.catalog.Item;
25
import com.spice.profitmandi.dao.enumuration.fofo.ScanType;
21552 ashik.ali 26
 
27
@NamedQueries({
28
	@NamedQuery(name = "InventoryItem.selectCount", query = "select count(ii) from InventoryItem ii"), 
29
	@NamedQuery(name = "InventoryItem.selectByItemId", query = "select ii from InventoryItem ii where ii.itemId = :itemId"),
21567 ashik.ali 30
	@NamedQuery(name = "InventoryItem.selectByFofoId", query = "select ii from InventoryItem ii where ii.fofoId = :fofoId"),
21580 ashik.ali 31
	//@NamedQuery(name = "InventoryItem.selectBySerialNumber", query = "select ii from InventoryItem ii join Imei i on ii.imeiId = i.id where i.imei = :serialNumber"),
32
	//@NamedQuery(name = "InventoryItem.selectQuantitySum", query = "select sum(ii.initialQuantity) as inventoryQuantity from InventoryItem ii where ii.itemId = :itemId and ii.fofoId = :fofoId and ii.purchaseReference = :purchaseReference")
21585 ashik.ali 33
 
34
	@NamedQuery(
21589 ashik.ali 35
		name = "InventoryItem.selectScannedCount",
21596 ashik.ali 36
		query = "select ii.itemId, sum(ii.initialQuantity) from InventoryItem ii "
21640 kshitij.so 37
				+ "where ii.itemId in :itemIds and ii.fofoId = :fofoId and ii.purchaseId = :purchaseId group by ii.itemId"),
21633 ashik.ali 38
 
39
	@NamedQuery(
40
		name = "InventoryItem.selectBySerialNumbers",
21640 kshitij.so 41
		query = "select ii from InventoryItem ii where ii.serialNumber in :serialNumbers"),
21633 ashik.ali 42
 
21640 kshitij.so 43
	@NamedQuery(
44
			name = "InventoryItem.selectSerialNumberBySerialNumbers",
45
			query = "select ii.serialNumber from InventoryItem ii where ii.serialNumber in :serialNumbers"),
46
 
21552 ashik.ali 47
})
48
@Entity
49
@Table(name="fofo.inventory_item", schema = "fofo")
50
public class InventoryItem {
21984 kshitij.so 51
 
21552 ashik.ali 52
	@Id
53
	@Column(name="id", unique=true, updatable=false)
54
	@GeneratedValue(strategy = GenerationType.IDENTITY)
55
	private int id;
56
 
57
	@Column(name = "item_id")
58
	private int itemId; 
59
 
60
	@Column(name = "fofo_id")
61
	private int fofoId; 
62
 
21609 ashik.ali 63
	@Column(name = "serial_number", length = 100)
64
	private String serialNumber; 
21552 ashik.ali 65
 
21613 kshitij.so 66
	@Column(name = "initial_quantity")
21552 ashik.ali 67
	private int initialQuantity;
68
 
69
	@Column(name = "good_quantity")
70
	private int goodQuantity; 
71
 
72
	@Column(name = "bad_quantity")
73
	private int badQuantity;
74
 
75
	@Column(name = "last_scan_type")
76
	@Enumerated(EnumType.STRING)
77
	private ScanType lastScanType;
78
 
21633 ashik.ali 79
	@Column(name = "purchase_id")
80
	private int purchaseId;
21552 ashik.ali 81
 
21662 kshitij.so 82
	@Column(name="unit_price")
21984 kshitij.so 83
	private Float unitPrice;
21662 kshitij.so 84
 
21710 ashik.ali 85
	@Column(name = "price_drop_amount")
21984 kshitij.so 86
	private Float priceDropAmount;
21710 ashik.ali 87
 
22352 ashik.ali 88
	@Column(name = "buy_back", columnDefinition = "tinyint(1) default 1")
89
	private boolean buyBack;
90
 
22859 ashik.ali 91
	@Column(name = "igst_rate")
92
	private float igstRate;
93
 
94
	@Column(name = "cgst_rate")
95
	private float cgstRate;
96
 
97
	@Column(name = "sgst_rate")
98
	private float sgstRate;
99
 
100
	@Column(name = "hsn_code")
101
	private String hsnCode;
102
 
21639 kshitij.so 103
	@Convert(converter = LocalDateTimeAttributeConverter.class)
21552 ashik.ali 104
	@Column(name = "create_timestamp")
21640 kshitij.so 105
	private LocalDateTime createTimestamp = LocalDateTime.now();
21653 ashik.ali 106
 
21710 ashik.ali 107
	@Convert(converter = LocalDateTimeAttributeConverter.class)
108
	@Column(name = "update_timestamp")
22216 ashik.ali 109
	@UpdateTimestamp
21710 ashik.ali 110
	private LocalDateTime updateTimestamp = LocalDateTime.now();
111
 
21653 ashik.ali 112
	@OneToOne(cascade=CascadeType.ALL,fetch=FetchType.LAZY)
113
	@JoinColumn(name="item_id",insertable=false,updatable=false,nullable=false, referencedColumnName = "id")
114
	private Item item;
21552 ashik.ali 115
 
116
	public int getId() {
117
		return id;
118
	}
119
 
120
	public void setId(int id) {
121
		this.id = id;
122
	}
123
 
124
	public int getItemId() {
125
		return itemId;
126
	}
127
 
128
	public void setItemId(int itemId) {
129
		this.itemId = itemId;
130
	}
21984 kshitij.so 131
 
132
	public void setFofoId(int fofoId) {
133
		this.fofoId = fofoId;
134
	}
21552 ashik.ali 135
 
136
	public int getFofoId() {
137
		return fofoId;
138
	}
139
 
21609 ashik.ali 140
	public String getSerialNumber() {
141
		return serialNumber;
21552 ashik.ali 142
	}
21609 ashik.ali 143
	public void setSerialNumber(String serialNumber) {
144
		this.serialNumber = serialNumber;
21552 ashik.ali 145
	}
21567 ashik.ali 146
 
21552 ashik.ali 147
	public int getInitialQuantity() {
148
		return initialQuantity;
149
	}
150
 
21984 kshitij.so 151
	public Float getUnitPrice() {
152
		return unitPrice;
153
	}
154
 
155
	public void setUnitPrice(Float unitPrice) {
156
		this.unitPrice = unitPrice;
157
	}
158
 
21552 ashik.ali 159
	public void setInitialQuantity(int initialQuantity) {
160
		this.initialQuantity = initialQuantity;
161
	}
162
 
163
	public int getGoodQuantity() {
164
		return goodQuantity;
165
	}
166
 
167
	public void setGoodQuantity(int goodQuantity) {
168
		this.goodQuantity = goodQuantity;
169
	}
170
 
171
	public int getBadQuantity() {
172
		return badQuantity;
173
	}
174
 
175
	public void setBadQuantity(int badQuantity) {
176
		this.badQuantity = badQuantity;
177
	}
178
 
179
	public ScanType getLastScanType() {
180
		return lastScanType;
181
	}
182
 
183
	public void setLastScanType(ScanType lastScanType) {
184
		this.lastScanType = lastScanType;
185
	}
21633 ashik.ali 186
 
187
	public int getPurchaseId() {
188
		return purchaseId;
21552 ashik.ali 189
	}
21633 ashik.ali 190
	public void setPurchaseId(int purchaseId) {
191
		this.purchaseId = purchaseId;
21552 ashik.ali 192
	}
21710 ashik.ali 193
 
21984 kshitij.so 194
	public Float getPriceDropAmount() {
21710 ashik.ali 195
		return priceDropAmount;
196
	}
21984 kshitij.so 197
	public void setPriceDropAmount(Float priceDropAmount) {
21710 ashik.ali 198
		this.priceDropAmount = priceDropAmount;
199
	}
22859 ashik.ali 200
 
201
	public float getIgstRate() {
202
		return igstRate;
203
	}
204
	public void setIgstRate(float igstRate) {
205
		this.igstRate = igstRate;
206
	}
207
	public float getCgstRate() {
208
		return cgstRate;
209
	}
210
	public void setCgstRate(float cgstRate) {
211
		this.cgstRate = cgstRate;
212
	}
213
	public float getSgstRate() {
214
		return sgstRate;
215
	}
216
	public void setSgstRate(float sgstRate) {
217
		this.sgstRate = sgstRate;
218
	}
219
	public String getHsnCode() {
220
		return hsnCode;
221
	}
222
	public void setHsnCode(String hsnCode) {
223
		this.hsnCode = hsnCode;
224
	}
21552 ashik.ali 225
 
226
	public LocalDateTime getCreateTimestamp() {
227
		return createTimestamp;
228
	}
229
 
230
	public void setCreateTimestamp(LocalDateTime createTimestamp) {
231
		this.createTimestamp = createTimestamp;
232
	}
21653 ashik.ali 233
 
21710 ashik.ali 234
	public LocalDateTime getUpdateTimestamp() {
235
		return updateTimestamp;
236
	}
237
	public void setUpdateTimestamp(LocalDateTime updateTimestamp) {
238
		this.updateTimestamp = updateTimestamp;
239
	}
240
 
21653 ashik.ali 241
	public Item getItem() {
242
		return item;
243
	}
244
	public void setItem(Item item) {
245
		this.item = item;
246
	}
21602 ashik.ali 247
 
22352 ashik.ali 248
	public boolean isBuyBack() {
249
		return buyBack;
250
	}
22009 ashik.ali 251
 
22352 ashik.ali 252
	public void setBuyBack(boolean buyBack) {
253
		this.buyBack = buyBack;
254
	}
255
 
21602 ashik.ali 256
	@Override
22009 ashik.ali 257
	public int hashCode() {
258
		final int prime = 31;
259
		int result = 1;
260
		result = prime * result + id;
261
		return result;
262
	}
263
 
264
	@Override
265
	public boolean equals(Object obj) {
266
		if (this == obj)
267
			return true;
268
		if (obj == null)
269
			return false;
270
		if (getClass() != obj.getClass())
271
			return false;
272
		InventoryItem other = (InventoryItem) obj;
273
		if (id != other.id)
274
			return false;
275
		return true;
276
	}
277
 
278
	@Override
21602 ashik.ali 279
	public String toString() {
21662 kshitij.so 280
		return "InventoryItem [id=" + id + ", itemId=" + itemId + ", fofoId=" + fofoId + ", serialNumber="
281
				+ serialNumber + ", initialQuantity=" + initialQuantity + ", goodQuantity=" + goodQuantity
282
				+ ", badQuantity=" + badQuantity + ", lastScanType=" + lastScanType + ", purchaseId=" + purchaseId
22352 ashik.ali 283
				+ ", unitPrice=" + unitPrice + ", priceDropAmount=" + priceDropAmount + ", buyBack=" + buyBack
22859 ashik.ali 284
				+ ", igstRate=" + igstRate + ", cgstRate=" + cgstRate + ", sgstRate=" + sgstRate + ", hsnCode="
285
				+ hsnCode + ", createTimestamp=" + createTimestamp + ", updateTimestamp=" + updateTimestamp + ", item="
286
				+ item + "]";
21602 ashik.ali 287
	}
22352 ashik.ali 288
 
21552 ashik.ali 289
 
290
}