Subversion Repositories SmartDukaan

Rev

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