Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
21713 ashik.ali 1
package com.spice.profitmandi.dao.entity.catalog;
21552 ashik.ali 2
 
31065 tejbeer 3
import java.io.Serializable;
4
import java.util.ArrayList;
5
import java.util.Arrays;
6
import java.util.List;
7
 
8
import javax.persistence.Column;
9
import javax.persistence.Entity;
10
import javax.persistence.EnumType;
11
import javax.persistence.Enumerated;
12
import javax.persistence.GeneratedValue;
13
import javax.persistence.GenerationType;
14
import javax.persistence.Id;
15
import javax.persistence.NamedQueries;
16
import javax.persistence.NamedQuery;
17
import javax.persistence.Table;
18
 
24264 amit.gupta 19
import com.spice.profitmandi.common.enumuration.ItemType;
31065 tejbeer 20
 
24072 amit.gupta 21
import in.shop2020.model.v1.catalog.status;
21573 ashik.ali 22
 
21552 ashik.ali 23
/**
24
 * This class basically contains item details
30121 amit.gupta 25
 *
21552 ashik.ali 26
 * @author ashikali
27
 */
29707 tejbeer 28
 
29
@NamedQueries({
30
		@NamedQuery(name = "Item.selectItemByLikes", query = "select new com.spice.profitmandi.common.model.CustomItemModel("
31
				+ "	i.id, i.brand, i.modelName, i.modelNumber, i.color"
32
				+ "	) from Item  i join CurrentInventorySnapshot cis on i.id = cis.itemId "
30121 amit.gupta 33
				+ " where cis.fofoId = :fofoId and cis.availability > 0 and REPLACE(CONCAT(i.brand,' ', ifnull(i.modelName, ' '), ' ', ifnull(i.modelNumber, ' ')), '  ', ' ')  like CONCAT('%',:query,'%')"),
34
 
35
		@NamedQuery(name = "Item.selectCatalogIdByMopRange", query = "select i.catalogItemId"
36
				+ " from Item i join TagListing tl on tl.itemId = i.id "
37
				+ " where tl.mop between :startPrice and :endPrice and  i.categoryId=10006 group by i.catalogItemId"),
30492 amit.gupta 38
 
39
		@NamedQuery(name = "Item.selectAllBrands", query = "select distinct"
31065 tejbeer 40
				+ "  i.brand from Item i join TagListing tl on tl.itemId = i.id " + " where i.categoryId=:categoryId"),
30492 amit.gupta 41
		@NamedQuery(name = "Item.selectAllCategories", query = "select distinct"
30499 amit.gupta 42
				+ "  i.categoryId from Item i join TagListing tl on tl.itemId = i.id "),
43
		@NamedQuery(name = "Item.selectAllModels", query = "select "
31065 tejbeer 44
				+ "  i from Item i join TagListing tl on tl.itemId = i.id where i.brand in :brands and i.categoryId = :categoryId") })
21552 ashik.ali 45
@Entity
29707 tejbeer 46
@Table(name = "catalog.item", schema = "catalog")
47
public class Item implements Serializable {
48
 
31065 tejbeer 49
	public static final List<String> SMART_PG = Arrays.asList("85171300", "85171290");
50
 
21552 ashik.ali 51
	private static final long serialVersionUID = 1L;
29707 tejbeer 52
 
21552 ashik.ali 53
	public Item() {
54
	}
29707 tejbeer 55
 
21552 ashik.ali 56
	@Id
29707 tejbeer 57
	@Column(name = "id", columnDefinition = "int(11)")
21552 ashik.ali 58
	@GeneratedValue(strategy = GenerationType.IDENTITY)
59
	private int id;
29707 tejbeer 60
 
61
	@Column(name = "brand", length = 100)
21552 ashik.ali 62
	private String brand;
29707 tejbeer 63
 
64
	@Column(name = "status")
24072 amit.gupta 65
	@Enumerated(EnumType.ORDINAL)
66
	private status status;
29707 tejbeer 67
 
28653 amit.gupta 68
	@Column(name = "product_group", length = 100)
69
	private String productGroup;
29707 tejbeer 70
 
21552 ashik.ali 71
	@Column(name = "model_name", length = 100)
72
	private String modelName;
29707 tejbeer 73
 
21552 ashik.ali 74
	@Column(name = "model_number", length = 100)
75
	private String modelNumber;
29707 tejbeer 76
 
21552 ashik.ali 77
	@Column(name = "color", length = 20)
78
	private String color;
29707 tejbeer 79
 
80
	@Column(name = "catalog_item_id")
21898 kshitij.so 81
	private int catalogItemId;
29707 tejbeer 82
 
83
	@Column(name = "weight")
28656 amit.gupta 84
	private Double weight;
29707 tejbeer 85
 
86
	@Column(name = "category")
23426 amit.gupta 87
	private int categoryId;
29707 tejbeer 88
 
23426 amit.gupta 89
	public int getCategoryId() {
90
		return categoryId;
91
	}
29707 tejbeer 92
 
23426 amit.gupta 93
	public void setCategoryId(int categoryId) {
94
		this.categoryId = categoryId;
95
	}
96
 
21614 kshitij.so 97
	@Enumerated(EnumType.STRING)
21573 ashik.ali 98
	@Column(name = "type")
99
	private ItemType type;
29707 tejbeer 100
 
21917 ashik.ali 101
	@Column(name = "hsnCode")
21895 ashik.ali 102
	private String hsnCode;
29707 tejbeer 103
 
22216 ashik.ali 104
	@Column(name = "sellingPrice")
23398 amit.gupta 105
	private Float sellingPrice;
29707 tejbeer 106
 
31821 amit.gupta 107
	@Column
108
	private Float mrp;
109
 
28653 amit.gupta 110
	public String getProductGroup() {
111
		return productGroup;
112
	}
29707 tejbeer 113
 
28653 amit.gupta 114
	public void setProductGroup(String productGroup) {
115
		this.productGroup = productGroup;
116
	}
29707 tejbeer 117
 
21552 ashik.ali 118
	public int getId() {
119
		return id;
120
	}
29707 tejbeer 121
 
21552 ashik.ali 122
	public void setId(int id) {
123
		this.id = id;
124
	}
29707 tejbeer 125
 
21552 ashik.ali 126
	public String getBrand() {
127
		return brand;
128
	}
29707 tejbeer 129
 
21552 ashik.ali 130
	public void setBrand(String brand) {
131
		this.brand = brand;
132
	}
29707 tejbeer 133
 
21552 ashik.ali 134
	public String getModelName() {
135
		return modelName;
136
	}
29707 tejbeer 137
 
21552 ashik.ali 138
	public void setModelName(String modelName) {
139
		this.modelName = modelName;
140
	}
29707 tejbeer 141
 
21552 ashik.ali 142
	public String getModelNumber() {
143
		return modelNumber;
144
	}
29707 tejbeer 145
 
21552 ashik.ali 146
	public void setModelNumber(String modelNumber) {
147
		this.modelNumber = modelNumber;
148
	}
29707 tejbeer 149
 
21552 ashik.ali 150
	public String getColor() {
29707 tejbeer 151
		if (color != null && (color.startsWith("f_") || color.startsWith("F_"))) {
23361 amit.gupta 152
			return color.substring(2);
153
		}
21552 ashik.ali 154
		return color;
155
	}
29707 tejbeer 156
 
24414 amit.gupta 157
	public String getColorNatural() {
158
		return this.color;
159
	}
29707 tejbeer 160
 
21552 ashik.ali 161
	public void setColor(String color) {
162
		this.color = color;
163
	}
29707 tejbeer 164
 
21573 ashik.ali 165
	public ItemType getType() {
166
		return type;
167
	}
29707 tejbeer 168
 
21573 ashik.ali 169
	public void setType(ItemType type) {
170
		this.type = type;
171
	}
29707 tejbeer 172
 
21895 ashik.ali 173
	public String getHsnCode() {
174
		return hsnCode;
175
	}
29707 tejbeer 176
 
21895 ashik.ali 177
	public void setHsnCode(String hsnCode) {
178
		this.hsnCode = hsnCode;
179
	}
29707 tejbeer 180
 
21898 kshitij.so 181
	public int getCatalogItemId() {
182
		return catalogItemId;
183
	}
29707 tejbeer 184
 
28656 amit.gupta 185
	public Double getWeight() {
28653 amit.gupta 186
		return weight;
187
	}
29707 tejbeer 188
 
28656 amit.gupta 189
	public void setWeight(Double weight) {
28653 amit.gupta 190
		this.weight = weight;
191
	}
29707 tejbeer 192
 
21898 kshitij.so 193
	public void setCatalogItemId(int catalogItemId) {
194
		this.catalogItemId = catalogItemId;
195
	}
29707 tejbeer 196
 
23398 amit.gupta 197
	public Float getSellingPrice() {
22216 ashik.ali 198
		return sellingPrice;
199
	}
29707 tejbeer 200
 
23398 amit.gupta 201
	public void setSellingPrice(Float sellingPrice) {
22216 ashik.ali 202
		this.sellingPrice = sellingPrice;
203
	}
29707 tejbeer 204
 
205
	public String getItemDescription() {
23398 amit.gupta 206
		StringBuilder itemString = new StringBuilder();
29707 tejbeer 207
		if (this.getBrand() != null && !this.getBrand().isEmpty()) {
23398 amit.gupta 208
			itemString.append(this.getBrand().trim());
209
		}
210
		itemString.append(" ");
29707 tejbeer 211
		if (this.getModelName() != null && !this.getModelName().isEmpty()) {
23398 amit.gupta 212
			itemString.append(this.getModelName().trim());
213
		}
29707 tejbeer 214
		if (this.getModelNumber() != null && !this.getModelNumber().isEmpty()) {
24072 amit.gupta 215
			itemString.append(" ");
23398 amit.gupta 216
			itemString.append(this.getModelNumber().trim());
217
		}
29707 tejbeer 218
		if (this.getColor() != null && !this.getColor().isEmpty() && !this.getColor().trim().equals("f_")) {
24072 amit.gupta 219
			itemString.append(" ");
23398 amit.gupta 220
			itemString.append(this.getColor().trim());
221
		}
24087 amit.gupta 222
		return itemString.toString().replaceAll("\\s+", " ").trim();
23398 amit.gupta 223
	}
29707 tejbeer 224
 
31065 tejbeer 225
	public boolean isSmartPhone() {
226
		return SMART_PG.contains(this.getHsnCode());
227
	}
228
 
29707 tejbeer 229
	public String getItemDescriptionNoColor() {
23569 govind 230
		StringBuilder itemString = new StringBuilder();
29707 tejbeer 231
		if (this.getBrand() != null && !this.getBrand().isEmpty()) {
23569 govind 232
			itemString.append(this.getBrand().trim());
233
		}
234
		itemString.append(" ");
29707 tejbeer 235
		if (this.getModelName() != null && !this.getModelName().isEmpty()) {
23569 govind 236
			itemString.append(this.getModelName().trim());
237
		}
29707 tejbeer 238
		if (this.getModelNumber() != null && !this.getModelNumber().isEmpty()) {
24072 amit.gupta 239
			itemString.append(" ");
23569 govind 240
			itemString.append(this.getModelNumber().trim());
241
		}
29707 tejbeer 242
 
24087 amit.gupta 243
		return itemString.toString().replaceAll("\\s+", " ").trim();
23569 govind 244
	}
29707 tejbeer 245
 
21602 ashik.ali 246
	@Override
21924 ashik.ali 247
	public int hashCode() {
248
		final int prime = 31;
249
		int result = 1;
250
		result = prime * result + id;
251
		return result;
252
	}
29707 tejbeer 253
 
21924 ashik.ali 254
	@Override
255
	public boolean equals(Object obj) {
256
		if (this == obj)
257
			return true;
258
		if (obj == null)
259
			return false;
260
		if (getClass() != obj.getClass())
261
			return false;
262
		Item other = (Item) obj;
263
		if (id != other.id)
264
			return false;
265
		return true;
266
	}
29707 tejbeer 267
 
21924 ashik.ali 268
	@Override
21602 ashik.ali 269
	public String toString() {
28653 amit.gupta 270
		return "Item [id=" + id + ", brand=" + brand + ", status=" + status + ", productGroup=" + productGroup
271
				+ ", modelName=" + modelName + ", modelNumber=" + modelNumber + ", color=" + color + ", catalogItemId="
272
				+ catalogItemId + ", weight=" + weight + ", categoryId=" + categoryId + ", type=" + type + ", hsnCode="
273
				+ hsnCode + ", sellingPrice=" + sellingPrice + "]";
21602 ashik.ali 274
	}
29707 tejbeer 275
 
24072 amit.gupta 276
	public status getStatus() {
277
		return status;
278
	}
29707 tejbeer 279
 
24072 amit.gupta 280
	public void setStatus(status status) {
281
		this.status = status;
282
	}
29707 tejbeer 283
 
31767 amit.gupta 284
	public boolean isAnyColor() {
285
		if(this.color != null) {
286
			String lowerCaseColor = this.color.toLowerCase();
31773 amit.gupta 287
			return lowerCaseColor.equals("any color") || lowerCaseColor.equals("f_any color") || lowerCaseColor.equals("any colour") || lowerCaseColor.equals("f_any colour");
31767 amit.gupta 288
		}
289
		return false;
290
	}
291
 
31821 amit.gupta 292
	public Float getMrp() {
293
		return mrp;
294
	}
295
 
296
	public void setMrp(Float mrp) {
297
		this.mrp = mrp;
298
	}
21552 ashik.ali 299
}