Subversion Repositories SmartDukaan

Rev

Rev 21984 | Rev 22216 | 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
 
21639 kshitij.so 21
import com.spice.profitmandi.dao.convertor.LocalDateTimeAttributeConverter;
21714 ashik.ali 22
import com.spice.profitmandi.dao.entity.catalog.Item;
23
import com.spice.profitmandi.dao.enumuration.fofo.ScanType;
21552 ashik.ali 24
 
25
@NamedQueries({
26
	@NamedQuery(name = "InventoryItem.selectCount", query = "select count(ii) from InventoryItem ii"), 
27
	@NamedQuery(name = "InventoryItem.selectByItemId", query = "select ii from InventoryItem ii where ii.itemId = :itemId"),
21567 ashik.ali 28
	@NamedQuery(name = "InventoryItem.selectByFofoId", query = "select ii from InventoryItem ii where ii.fofoId = :fofoId"),
21580 ashik.ali 29
	//@NamedQuery(name = "InventoryItem.selectBySerialNumber", query = "select ii from InventoryItem ii join Imei i on ii.imeiId = i.id where i.imei = :serialNumber"),
30
	//@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 31
 
32
	@NamedQuery(
21589 ashik.ali 33
		name = "InventoryItem.selectScannedCount",
21596 ashik.ali 34
		query = "select ii.itemId, sum(ii.initialQuantity) from InventoryItem ii "
21640 kshitij.so 35
				+ "where ii.itemId in :itemIds and ii.fofoId = :fofoId and ii.purchaseId = :purchaseId group by ii.itemId"),
21633 ashik.ali 36
 
37
	@NamedQuery(
38
		name = "InventoryItem.selectBySerialNumbers",
21640 kshitij.so 39
		query = "select ii from InventoryItem ii where ii.serialNumber in :serialNumbers"),
21633 ashik.ali 40
 
21640 kshitij.so 41
	@NamedQuery(
42
			name = "InventoryItem.selectSerialNumberBySerialNumbers",
43
			query = "select ii.serialNumber from InventoryItem ii where ii.serialNumber in :serialNumbers"),
44
 
21552 ashik.ali 45
})
46
@Entity
47
@Table(name="fofo.inventory_item", schema = "fofo")
48
public class InventoryItem {
21984 kshitij.so 49
 
21552 ashik.ali 50
	@Id
51
	@Column(name="id", unique=true, updatable=false)
52
	@GeneratedValue(strategy = GenerationType.IDENTITY)
53
	private int id;
54
 
55
	@Column(name = "item_id")
56
	private int itemId; 
57
 
58
	@Column(name = "fofo_id")
59
	private int fofoId; 
60
 
21609 ashik.ali 61
	@Column(name = "serial_number", length = 100)
62
	private String serialNumber; 
21552 ashik.ali 63
 
21613 kshitij.so 64
	@Column(name = "initial_quantity")
21552 ashik.ali 65
	private int initialQuantity;
66
 
67
	@Column(name = "good_quantity")
68
	private int goodQuantity; 
69
 
70
	@Column(name = "bad_quantity")
71
	private int badQuantity;
72
 
73
	@Column(name = "last_scan_type")
74
	@Enumerated(EnumType.STRING)
75
	private ScanType lastScanType;
76
 
21633 ashik.ali 77
	@Column(name = "purchase_id")
78
	private int purchaseId;
21552 ashik.ali 79
 
21662 kshitij.so 80
	@Column(name="unit_price")
21984 kshitij.so 81
	private Float unitPrice;
21662 kshitij.so 82
 
21710 ashik.ali 83
	@Column(name = "price_drop_amount")
21984 kshitij.so 84
	private Float priceDropAmount;
21710 ashik.ali 85
 
21639 kshitij.so 86
	@Convert(converter = LocalDateTimeAttributeConverter.class)
21552 ashik.ali 87
	@Column(name = "create_timestamp")
21640 kshitij.so 88
	private LocalDateTime createTimestamp = LocalDateTime.now();
21653 ashik.ali 89
 
21710 ashik.ali 90
	@Convert(converter = LocalDateTimeAttributeConverter.class)
91
	@Column(name = "update_timestamp")
92
	private LocalDateTime updateTimestamp = LocalDateTime.now();
93
 
21653 ashik.ali 94
	@OneToOne(cascade=CascadeType.ALL,fetch=FetchType.LAZY)
95
	@JoinColumn(name="item_id",insertable=false,updatable=false,nullable=false, referencedColumnName = "id")
96
	private Item item;
21552 ashik.ali 97
 
98
	public int getId() {
99
		return id;
100
	}
101
 
102
	public void setId(int id) {
103
		this.id = id;
104
	}
105
 
106
	public int getItemId() {
107
		return itemId;
108
	}
109
 
110
	public void setItemId(int itemId) {
111
		this.itemId = itemId;
112
	}
21984 kshitij.so 113
 
114
	public void setFofoId(int fofoId) {
115
		this.fofoId = fofoId;
116
	}
21552 ashik.ali 117
 
118
	public int getFofoId() {
119
		return fofoId;
120
	}
121
 
21609 ashik.ali 122
	public String getSerialNumber() {
123
		return serialNumber;
21552 ashik.ali 124
	}
21609 ashik.ali 125
	public void setSerialNumber(String serialNumber) {
126
		this.serialNumber = serialNumber;
21552 ashik.ali 127
	}
21567 ashik.ali 128
 
21552 ashik.ali 129
	public int getInitialQuantity() {
130
		return initialQuantity;
131
	}
132
 
21984 kshitij.so 133
	public Float getUnitPrice() {
134
		return unitPrice;
135
	}
136
 
137
	public void setUnitPrice(Float unitPrice) {
138
		this.unitPrice = unitPrice;
139
	}
140
 
21552 ashik.ali 141
	public void setInitialQuantity(int initialQuantity) {
142
		this.initialQuantity = initialQuantity;
143
	}
144
 
145
	public int getGoodQuantity() {
146
		return goodQuantity;
147
	}
148
 
149
	public void setGoodQuantity(int goodQuantity) {
150
		this.goodQuantity = goodQuantity;
151
	}
152
 
153
	public int getBadQuantity() {
154
		return badQuantity;
155
	}
156
 
157
	public void setBadQuantity(int badQuantity) {
158
		this.badQuantity = badQuantity;
159
	}
160
 
161
	public ScanType getLastScanType() {
162
		return lastScanType;
163
	}
164
 
165
	public void setLastScanType(ScanType lastScanType) {
166
		this.lastScanType = lastScanType;
167
	}
21633 ashik.ali 168
 
169
	public int getPurchaseId() {
170
		return purchaseId;
21552 ashik.ali 171
	}
21633 ashik.ali 172
	public void setPurchaseId(int purchaseId) {
173
		this.purchaseId = purchaseId;
21552 ashik.ali 174
	}
21710 ashik.ali 175
 
21984 kshitij.so 176
	public Float getPriceDropAmount() {
21710 ashik.ali 177
		return priceDropAmount;
178
	}
21984 kshitij.so 179
	public void setPriceDropAmount(Float priceDropAmount) {
21710 ashik.ali 180
		this.priceDropAmount = priceDropAmount;
181
	}
21552 ashik.ali 182
 
183
	public LocalDateTime getCreateTimestamp() {
184
		return createTimestamp;
185
	}
186
 
187
	public void setCreateTimestamp(LocalDateTime createTimestamp) {
188
		this.createTimestamp = createTimestamp;
189
	}
21653 ashik.ali 190
 
21710 ashik.ali 191
	public LocalDateTime getUpdateTimestamp() {
192
		return updateTimestamp;
193
	}
194
	public void setUpdateTimestamp(LocalDateTime updateTimestamp) {
195
		this.updateTimestamp = updateTimestamp;
196
	}
197
 
21653 ashik.ali 198
	public Item getItem() {
199
		return item;
200
	}
201
	public void setItem(Item item) {
202
		this.item = item;
203
	}
21602 ashik.ali 204
 
22009 ashik.ali 205
 
21602 ashik.ali 206
	@Override
22009 ashik.ali 207
	public int hashCode() {
208
		final int prime = 31;
209
		int result = 1;
210
		result = prime * result + id;
211
		return result;
212
	}
213
 
214
	@Override
215
	public boolean equals(Object obj) {
216
		if (this == obj)
217
			return true;
218
		if (obj == null)
219
			return false;
220
		if (getClass() != obj.getClass())
221
			return false;
222
		InventoryItem other = (InventoryItem) obj;
223
		if (id != other.id)
224
			return false;
225
		return true;
226
	}
227
 
228
	@Override
21602 ashik.ali 229
	public String toString() {
21662 kshitij.so 230
		return "InventoryItem [id=" + id + ", itemId=" + itemId + ", fofoId=" + fofoId + ", serialNumber="
231
				+ serialNumber + ", initialQuantity=" + initialQuantity + ", goodQuantity=" + goodQuantity
232
				+ ", badQuantity=" + badQuantity + ", lastScanType=" + lastScanType + ", purchaseId=" + purchaseId
21710 ashik.ali 233
				+ ", unitPrice=" + unitPrice + ", priceDropAmount=" + priceDropAmount + ", createTimestamp="
234
				+ createTimestamp + ", updateTimestamp=" + updateTimestamp + ", item=" + item + "]";
21602 ashik.ali 235
	}
21552 ashik.ali 236
 
237
}