Subversion Repositories SmartDukaan

Rev

Rev 23329 | Rev 23527 | 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;
23509 amit.gupta 4
import java.time.format.DateTimeFormatter;
5
import java.time.temporal.TemporalField;
21552 ashik.ali 6
 
21653 ashik.ali 7
import javax.persistence.CascadeType;
21552 ashik.ali 8
import javax.persistence.Column;
21639 kshitij.so 9
import javax.persistence.Convert;
21552 ashik.ali 10
import javax.persistence.Entity;
11
import javax.persistence.EnumType;
12
import javax.persistence.Enumerated;
21653 ashik.ali 13
import javax.persistence.FetchType;
21552 ashik.ali 14
import javax.persistence.GeneratedValue;
15
import javax.persistence.GenerationType;
16
import javax.persistence.Id;
21653 ashik.ali 17
import javax.persistence.JoinColumn;
21552 ashik.ali 18
import javax.persistence.NamedQueries;
19
import javax.persistence.NamedQuery;
21653 ashik.ali 20
import javax.persistence.OneToOne;
21552 ashik.ali 21
import javax.persistence.Table;
23509 amit.gupta 22
import javax.persistence.Transient;
21552 ashik.ali 23
 
22216 ashik.ali 24
import org.hibernate.annotations.UpdateTimestamp;
25
 
21639 kshitij.so 26
import com.spice.profitmandi.dao.convertor.LocalDateTimeAttributeConverter;
21714 ashik.ali 27
import com.spice.profitmandi.dao.entity.catalog.Item;
28
import com.spice.profitmandi.dao.enumuration.fofo.ScanType;
21552 ashik.ali 29
 
30
@NamedQueries({
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 "
23329 ashik.ali 34
				+ "where ii.itemId in :itemIds and ii.fofoId = :fofoId and ii.purchaseId = :purchaseId group by ii.itemId")
21552 ashik.ali 35
})
36
@Entity
37
@Table(name="fofo.inventory_item", schema = "fofo")
38
public class InventoryItem {
21984 kshitij.so 39
 
23509 amit.gupta 40
	public String getItemDescription() {
41
		return itemDescription;
42
	}
43
 
44
	public void setItemDescription(String itemDescription) {
45
		this.itemDescription = itemDescription;
46
	}
47
 
48
	public void setUnitPrice(float unitPrice) {
49
		this.unitPrice = unitPrice;
50
	}
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;
23509 amit.gupta 74
 
21552 ashik.ali 75
 
23509 amit.gupta 76
	@Transient
77
	private String itemDescription;
78
 
21552 ashik.ali 79
	@Column(name = "last_scan_type")
80
	@Enumerated(EnumType.STRING)
81
	private ScanType lastScanType;
82
 
21633 ashik.ali 83
	@Column(name = "purchase_id")
84
	private int purchaseId;
21552 ashik.ali 85
 
21662 kshitij.so 86
	@Column(name="unit_price")
23110 ashik.ali 87
	private float unitPrice;
21662 kshitij.so 88
 
21710 ashik.ali 89
	@Column(name = "price_drop_amount")
23110 ashik.ali 90
	private float priceDropAmount;
21710 ashik.ali 91
 
22352 ashik.ali 92
	@Column(name = "buy_back", columnDefinition = "tinyint(1) default 1")
93
	private boolean buyBack;
94
 
22859 ashik.ali 95
	@Column(name = "igst_rate")
96
	private float igstRate;
97
 
98
	@Column(name = "cgst_rate")
99
	private float cgstRate;
100
 
101
	@Column(name = "sgst_rate")
102
	private float sgstRate;
103
 
104
	@Column(name = "hsn_code")
105
	private String hsnCode;
106
 
21639 kshitij.so 107
	@Convert(converter = LocalDateTimeAttributeConverter.class)
21552 ashik.ali 108
	@Column(name = "create_timestamp")
21640 kshitij.so 109
	private LocalDateTime createTimestamp = LocalDateTime.now();
21653 ashik.ali 110
 
21710 ashik.ali 111
	@Convert(converter = LocalDateTimeAttributeConverter.class)
112
	@Column(name = "update_timestamp")
22216 ashik.ali 113
	@UpdateTimestamp
21710 ashik.ali 114
	private LocalDateTime updateTimestamp = LocalDateTime.now();
115
 
21653 ashik.ali 116
	@OneToOne(cascade=CascadeType.ALL,fetch=FetchType.LAZY)
117
	@JoinColumn(name="item_id",insertable=false,updatable=false,nullable=false, referencedColumnName = "id")
118
	private Item item;
23019 ashik.ali 119
 
120
	@OneToOne(cascade=CascadeType.ALL,fetch=FetchType.LAZY)
121
	@JoinColumn(name="purchase_id",insertable=false,updatable=false,nullable=false, referencedColumnName = "id")
122
	private Purchase purchase;
21552 ashik.ali 123
 
124
	public int getId() {
125
		return id;
126
	}
127
 
128
	public void setId(int id) {
129
		this.id = id;
130
	}
131
 
132
	public int getItemId() {
133
		return itemId;
134
	}
135
 
136
	public void setItemId(int itemId) {
137
		this.itemId = itemId;
138
	}
21984 kshitij.so 139
 
140
	public void setFofoId(int fofoId) {
141
		this.fofoId = fofoId;
142
	}
21552 ashik.ali 143
 
144
	public int getFofoId() {
145
		return fofoId;
146
	}
147
 
21609 ashik.ali 148
	public String getSerialNumber() {
149
		return serialNumber;
21552 ashik.ali 150
	}
21609 ashik.ali 151
	public void setSerialNumber(String serialNumber) {
152
		this.serialNumber = serialNumber;
21552 ashik.ali 153
	}
21567 ashik.ali 154
 
21552 ashik.ali 155
	public int getInitialQuantity() {
156
		return initialQuantity;
157
	}
158
 
23110 ashik.ali 159
	public float getUnitPrice() {
21984 kshitij.so 160
		return unitPrice;
161
	}
162
 
163
	public void setUnitPrice(Float unitPrice) {
164
		this.unitPrice = unitPrice;
165
	}
166
 
21552 ashik.ali 167
	public void setInitialQuantity(int initialQuantity) {
168
		this.initialQuantity = initialQuantity;
169
	}
23110 ashik.ali 170
 
171
	public float getNetPrice(){
172
		return unitPrice - priceDropAmount;
173
	}
21552 ashik.ali 174
 
175
	public int getGoodQuantity() {
176
		return goodQuantity;
177
	}
178
 
179
	public void setGoodQuantity(int goodQuantity) {
180
		this.goodQuantity = goodQuantity;
181
	}
182
 
183
	public int getBadQuantity() {
184
		return badQuantity;
185
	}
186
 
187
	public void setBadQuantity(int badQuantity) {
188
		this.badQuantity = badQuantity;
189
	}
190
 
191
	public ScanType getLastScanType() {
192
		return lastScanType;
193
	}
194
 
195
	public void setLastScanType(ScanType lastScanType) {
196
		this.lastScanType = lastScanType;
197
	}
21633 ashik.ali 198
 
199
	public int getPurchaseId() {
200
		return purchaseId;
21552 ashik.ali 201
	}
21633 ashik.ali 202
	public void setPurchaseId(int purchaseId) {
203
		this.purchaseId = purchaseId;
21552 ashik.ali 204
	}
21710 ashik.ali 205
 
23110 ashik.ali 206
	public float getPriceDropAmount() {
21710 ashik.ali 207
		return priceDropAmount;
208
	}
23110 ashik.ali 209
	public void setPriceDropAmount(float priceDropAmount) {
21710 ashik.ali 210
		this.priceDropAmount = priceDropAmount;
211
	}
22859 ashik.ali 212
 
213
	public float getIgstRate() {
214
		return igstRate;
215
	}
216
	public void setIgstRate(float igstRate) {
217
		this.igstRate = igstRate;
218
	}
219
	public float getCgstRate() {
220
		return cgstRate;
221
	}
222
	public void setCgstRate(float cgstRate) {
223
		this.cgstRate = cgstRate;
224
	}
225
	public float getSgstRate() {
226
		return sgstRate;
227
	}
228
	public void setSgstRate(float sgstRate) {
229
		this.sgstRate = sgstRate;
230
	}
231
	public String getHsnCode() {
232
		return hsnCode;
233
	}
234
	public void setHsnCode(String hsnCode) {
235
		this.hsnCode = hsnCode;
236
	}
21552 ashik.ali 237
 
238
	public LocalDateTime getCreateTimestamp() {
239
		return createTimestamp;
240
	}
23509 amit.gupta 241
 
21552 ashik.ali 242
 
243
	public void setCreateTimestamp(LocalDateTime createTimestamp) {
244
		this.createTimestamp = createTimestamp;
245
	}
21653 ashik.ali 246
 
23509 amit.gupta 247
	public String getFormattedCreateTimestamp(){
248
		if(createTimestamp == null){
249
			return null;
250
		}
251
		DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-YYYY HH:mm");
252
		return createTimestamp.format(formatter);
253
    }
254
 
21710 ashik.ali 255
	public LocalDateTime getUpdateTimestamp() {
256
		return updateTimestamp;
257
	}
258
	public void setUpdateTimestamp(LocalDateTime updateTimestamp) {
259
		this.updateTimestamp = updateTimestamp;
260
	}
261
 
21653 ashik.ali 262
	public Item getItem() {
263
		return item;
264
	}
265
	public void setItem(Item item) {
266
		this.item = item;
267
	}
21602 ashik.ali 268
 
22352 ashik.ali 269
	public boolean isBuyBack() {
270
		return buyBack;
271
	}
22009 ashik.ali 272
 
22352 ashik.ali 273
	public void setBuyBack(boolean buyBack) {
274
		this.buyBack = buyBack;
275
	}
276
 
23019 ashik.ali 277
	public Purchase getPurchase() {
278
		return purchase;
279
	}
280
 
281
	public void setPurchase(Purchase purchase) {
282
		this.purchase = purchase;
283
	}
284
 
21602 ashik.ali 285
	@Override
22009 ashik.ali 286
	public int hashCode() {
287
		final int prime = 31;
288
		int result = 1;
289
		result = prime * result + id;
290
		return result;
291
	}
292
 
293
	@Override
294
	public boolean equals(Object obj) {
295
		if (this == obj)
296
			return true;
297
		if (obj == null)
298
			return false;
299
		if (getClass() != obj.getClass())
300
			return false;
301
		InventoryItem other = (InventoryItem) obj;
302
		if (id != other.id)
303
			return false;
304
		return true;
305
	}
306
 
307
	@Override
21602 ashik.ali 308
	public String toString() {
21662 kshitij.so 309
		return "InventoryItem [id=" + id + ", itemId=" + itemId + ", fofoId=" + fofoId + ", serialNumber="
310
				+ serialNumber + ", initialQuantity=" + initialQuantity + ", goodQuantity=" + goodQuantity
311
				+ ", badQuantity=" + badQuantity + ", lastScanType=" + lastScanType + ", purchaseId=" + purchaseId
22352 ashik.ali 312
				+ ", unitPrice=" + unitPrice + ", priceDropAmount=" + priceDropAmount + ", buyBack=" + buyBack
22859 ashik.ali 313
				+ ", igstRate=" + igstRate + ", cgstRate=" + cgstRate + ", sgstRate=" + sgstRate + ", hsnCode="
314
				+ hsnCode + ", createTimestamp=" + createTimestamp + ", updateTimestamp=" + updateTimestamp + ", item="
23019 ashik.ali 315
				+ item + ", purchase=" + purchase + "]";
21602 ashik.ali 316
	}
21552 ashik.ali 317
 
318
}