Subversion Repositories SmartDukaan

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
21552 ashik.ali 1
package com.spice.profitmandi.dao.entity;
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;
21552 ashik.ali 22
import com.spice.profitmandi.dao.enumuration.ScanType;
23
 
24
@NamedQueries({
25
	@NamedQuery(name = "InventoryItem.selectCount", query = "select count(ii) from InventoryItem ii"), 
26
	@NamedQuery(name = "InventoryItem.selectByItemId", query = "select ii from InventoryItem ii where ii.itemId = :itemId"),
21567 ashik.ali 27
	@NamedQuery(name = "InventoryItem.selectByFofoId", query = "select ii from InventoryItem ii where ii.fofoId = :fofoId"),
21580 ashik.ali 28
	//@NamedQuery(name = "InventoryItem.selectBySerialNumber", query = "select ii from InventoryItem ii join Imei i on ii.imeiId = i.id where i.imei = :serialNumber"),
29
	//@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 30
 
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 {
48
 
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")
80
	private double unitPrice;
81
 
21639 kshitij.so 82
	@Convert(converter = LocalDateTimeAttributeConverter.class)
21552 ashik.ali 83
	@Column(name = "create_timestamp")
21640 kshitij.so 84
	private LocalDateTime createTimestamp = LocalDateTime.now();
21653 ashik.ali 85
 
86
	@OneToOne(cascade=CascadeType.ALL,fetch=FetchType.LAZY)
87
	@JoinColumn(name="item_id",insertable=false,updatable=false,nullable=false, referencedColumnName = "id")
88
	private Item item;
21552 ashik.ali 89
 
90
	public int getId() {
91
		return id;
92
	}
93
 
94
	public void setId(int id) {
95
		this.id = id;
96
	}
97
 
98
	public int getItemId() {
99
		return itemId;
100
	}
101
 
102
	public void setItemId(int itemId) {
103
		this.itemId = itemId;
104
	}
105
 
106
	public int getFofoId() {
107
		return fofoId;
108
	}
109
 
21662 kshitij.so 110
	public double getUnitPrice() {
111
		return unitPrice;
112
	}
113
 
114
	public void setUnitPrice(double unitPrice) {
115
		this.unitPrice = unitPrice;
116
	}
117
 
21552 ashik.ali 118
	public void setFofoId(int fofoId) {
119
		this.fofoId = 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
 
130
	public int getInitialQuantity() {
131
		return initialQuantity;
132
	}
133
 
134
	public void setInitialQuantity(int initialQuantity) {
135
		this.initialQuantity = initialQuantity;
136
	}
137
 
138
	public int getGoodQuantity() {
139
		return goodQuantity;
140
	}
141
 
142
	public void setGoodQuantity(int goodQuantity) {
143
		this.goodQuantity = goodQuantity;
144
	}
145
 
146
	public int getBadQuantity() {
147
		return badQuantity;
148
	}
149
 
150
	public void setBadQuantity(int badQuantity) {
151
		this.badQuantity = badQuantity;
152
	}
153
 
154
	public ScanType getLastScanType() {
155
		return lastScanType;
156
	}
157
 
158
	public void setLastScanType(ScanType lastScanType) {
159
		this.lastScanType = lastScanType;
160
	}
21633 ashik.ali 161
 
162
	public int getPurchaseId() {
163
		return purchaseId;
21552 ashik.ali 164
	}
21633 ashik.ali 165
	public void setPurchaseId(int purchaseId) {
166
		this.purchaseId = purchaseId;
21552 ashik.ali 167
	}
168
 
169
	public LocalDateTime getCreateTimestamp() {
170
		return createTimestamp;
171
	}
172
 
173
	public void setCreateTimestamp(LocalDateTime createTimestamp) {
174
		this.createTimestamp = createTimestamp;
175
	}
21653 ashik.ali 176
 
177
	public Item getItem() {
178
		return item;
179
	}
180
	public void setItem(Item item) {
181
		this.item = item;
182
	}
21602 ashik.ali 183
 
184
	@Override
185
	public String toString() {
21662 kshitij.so 186
		return "InventoryItem [id=" + id + ", itemId=" + itemId + ", fofoId=" + fofoId + ", serialNumber="
187
				+ serialNumber + ", initialQuantity=" + initialQuantity + ", goodQuantity=" + goodQuantity
188
				+ ", badQuantity=" + badQuantity + ", lastScanType=" + lastScanType + ", purchaseId=" + purchaseId
189
				+ ", unitPrice=" + unitPrice + ", createTimestamp=" + createTimestamp + ", item=" + item + "]";
21602 ashik.ali 190
	}
21662 kshitij.so 191
 
21552 ashik.ali 192
 
193
 
194
 
21662 kshitij.so 195
 
21552 ashik.ali 196
}