Subversion Repositories SmartDukaan

Rev

Rev 33767 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
21716 ashik.ali 1
package com.spice.profitmandi.dao.entity.transaction;
21545 ashik.ali 2
 
30449 amit.gupta 3
import com.spice.profitmandi.dao.convertor.LocalDateTimeAttributeConverter;
4
import com.spice.profitmandi.dao.entity.catalog.Item;
5
 
6
import javax.persistence.*;
21545 ashik.ali 7
import java.io.Serializable;
8
import java.time.LocalDateTime;
33060 amit.gupta 9
import java.util.Objects;
21545 ashik.ali 10
 
11
/**
12
 * This class basically contains api details
30449 amit.gupta 13
 *
21545 ashik.ali 14
 * @author ashikali
15
 */
16
@Entity
31860 tejbeer 17
@Table(name = "transaction.lineitem")
18
@NamedQueries({@NamedQuery(name = "LineItem.selectAll", query = "select li from LineItem li"), @NamedQuery(name = "LineItem.selectById", query = "select li from LineItem li where li.id= :id")
21545 ashik.ali 19
})
30449 amit.gupta 20
public class LineItem implements Serializable {
21
 
31860 tejbeer 22
    private static final long serialVersionUID = 1L;
30449 amit.gupta 23
 
31860 tejbeer 24
    public LineItem() {
25
    }
30449 amit.gupta 26
 
31860 tejbeer 27
    @Id
28
    @Column(name = "id", unique = true, updatable = false)
29
    @GeneratedValue(strategy = GenerationType.IDENTITY)
30
    private Integer id;
30449 amit.gupta 31
 
31860 tejbeer 32
    @Column(name = "item_id")
33
    private Integer itemId;
30449 amit.gupta 34
 
33767 ranu 35
    @Column(name = "original_item_id")
36
    private Integer originalItemId;
37
 
31860 tejbeer 38
    @Column(name = "productGroup", length = 100)
39
    private String productGoup;
30449 amit.gupta 40
 
31860 tejbeer 41
    @Column(name = "brand", length = 100)
42
    private String brand;
30449 amit.gupta 43
 
31860 tejbeer 44
    @Column(name = "model_number", length = 100)
45
    private String modelNumber;
30449 amit.gupta 46
 
31860 tejbeer 47
    @Column(name = "model_name", length = 100)
48
    private String modelName;
30449 amit.gupta 49
 
31860 tejbeer 50
    @Column(name = "color", length = 20)
51
    private String color;
30449 amit.gupta 52
 
31860 tejbeer 53
    @Column(name = "extra_info", length = 100)
54
    private String extraInfo;
30449 amit.gupta 55
 
31860 tejbeer 56
    @Column(name = "quantity")
57
    private Integer quantity;
30449 amit.gupta 58
 
31860 tejbeer 59
    @Column(name = "mrp")
60
    private Float mrp;
30449 amit.gupta 61
 
31860 tejbeer 62
    @Column(name = "unit_price")
63
    private Float unitPrice;
30449 amit.gupta 64
 
37274 amit 65
    // Rule 32(5) purchase value, frozen at invoicing. Null for non-margin lines and for
66
    // margin lines invoiced before this column existed — readers fall back to the live
67
    // warehouse lookup when null. Never recompute a non-null value: the serial's warehouse
68
    // row can be re-GRNed at a different price after the sale, and every later document
69
    // (credit note, debit note, CRN) must reverse the margin the invoice actually charged.
70
    @Column(name = "margin_purchase_price")
71
    private Float marginPurchasePrice;
72
 
31860 tejbeer 73
    @Column(name = "unit_weight")
74
    private Float unitWeight;
30449 amit.gupta 75
 
31860 tejbeer 76
    @Column(name = "total_price")
77
    private Float totalPrice;
30449 amit.gupta 78
 
31860 tejbeer 79
    @Column(name = "transfer_price")
80
    private Float transferPrice;
30449 amit.gupta 81
 
31860 tejbeer 82
    @Column(name = "total_weight")
83
    private Float totalWeight;
30449 amit.gupta 84
 
31860 tejbeer 85
    @Column(name = "order_id")
86
    private Integer orderId;
30449 amit.gupta 87
 
33060 amit.gupta 88
    @Column(name = "serial_number", length = 20)
89
    private String serialNumber;
30449 amit.gupta 90
 
31860 tejbeer 91
    @Column(name = "item_number", length = 50)
92
    private String itemNumber;
30449 amit.gupta 93
 
31860 tejbeer 94
    @Column(name = "dealText", length = 100)
95
    private String dealText;
30449 amit.gupta 96
 
31860 tejbeer 97
    @Convert(converter = LocalDateTimeAttributeConverter.class)
98
    @Column(name = "warranty_expiry_timestamp")
99
    private LocalDateTime warrantyExpiryTimestamp;
30449 amit.gupta 100
 
31860 tejbeer 101
    @Column(name = "nlc")
102
    private Float nlc;
30449 amit.gupta 103
 
31860 tejbeer 104
    @Column(name = "logisticsCost")
105
    private Float logisticsCost;
30449 amit.gupta 106
 
31860 tejbeer 107
    @Column(name = "codCollectionCharges")
108
    private Float codCollectionCharges;
30449 amit.gupta 109
 
31860 tejbeer 110
    @Column(name = "returnQty")
111
    private int returnQty;
30449 amit.gupta 112
 
31860 tejbeer 113
    @Column(name = "igstRate")
114
    private Float igstRate;
30652 amit.gupta 115
 
31860 tejbeer 116
    @Column(name = "cgstRate")
117
    private Float cgstRate;
30449 amit.gupta 118
 
31860 tejbeer 119
    @Column(name = "sgstRate")
120
    private Float sgstRate;
30449 amit.gupta 121
 
30652 amit.gupta 122
 
31860 tejbeer 123
    @Column(name = "hsnCode")
124
    private String hsnCode;
30449 amit.gupta 125
 
31860 tejbeer 126
    @Convert(converter = LocalDateTimeAttributeConverter.class)
127
    @Column(name = "damaged_expiry_timestamp")
128
    private LocalDateTime damagedExpiryTimestamp;
30449 amit.gupta 129
 
31860 tejbeer 130
    @OneToOne(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
131
    //@Fetch(value = FetchMode.SUBSELECT)
132
    @JoinColumn(name = "item_id", insertable = false, updatable = false, nullable = false, referencedColumnName = "id")
133
    private Item item;
30449 amit.gupta 134
 
31860 tejbeer 135
    public float getTotalTaxRate() {
136
        return (this.cgstRate == null ? 0 : this.cgstRate) + (this.sgstRate == null ? 0 : this.sgstRate) + (this.igstRate == null ? 0 : this.igstRate);
137
    }
30449 amit.gupta 138
 
31860 tejbeer 139
    public String getItemDescription() {
140
        StringBuilder itemString = new StringBuilder();
141
        if (this.getBrand() != null && !this.getBrand().isEmpty()) {
142
            itemString.append(this.getBrand().trim());
143
        }
144
        itemString.append(" ");
145
        if (this.getModelName() != null && !this.getModelName().isEmpty()) {
146
            itemString.append(this.getModelName().trim());
147
        }
148
        if (this.getModelNumber() != null && !this.getModelNumber().isEmpty()) {
149
            itemString.append(" ");
150
            itemString.append(this.getModelNumber().trim());
151
        }
152
        if (this.getColor() != null && !this.getColor().isEmpty() && !this.getColor().trim().equals("f_")) {
153
            itemString.append(" ");
154
            itemString.append(this.getColor().trim());
155
        }
156
        return itemString.toString().replaceAll("\\s+", " ").trim();
157
    }
30449 amit.gupta 158
 
31860 tejbeer 159
    public String getItemDescriptionNoColor() {
160
        StringBuilder itemString = new StringBuilder();
161
        if (this.getBrand() != null && !this.getBrand().isEmpty()) {
162
            itemString.append(this.getBrand().trim());
163
        }
164
        itemString.append(" ");
165
        if (this.getModelName() != null && !this.getModelName().isEmpty()) {
166
            itemString.append(this.getModelName().trim());
167
        }
168
        if (this.getModelNumber() != null && !this.getModelNumber().isEmpty()) {
169
            itemString.append(" ");
170
            itemString.append(this.getModelNumber().trim());
171
        }
30449 amit.gupta 172
 
31860 tejbeer 173
        return itemString.toString().replaceAll("\\s+", " ").trim();
174
    }
30449 amit.gupta 175
 
31860 tejbeer 176
    public Integer getId() {
177
        return id;
178
    }
30449 amit.gupta 179
 
31860 tejbeer 180
    public void setId(Integer id) {
181
        this.id = id;
182
    }
30449 amit.gupta 183
 
31860 tejbeer 184
    public Integer getItemId() {
185
        return itemId;
186
    }
30449 amit.gupta 187
 
31860 tejbeer 188
    public void setItemId(Integer itemId) {
189
        this.itemId = itemId;
190
    }
30449 amit.gupta 191
 
33767 ranu 192
    public Integer getOriginalItemId() {
193
        return originalItemId;
194
    }
195
 
196
    public void setOriginalItemId(Integer originalItemId) {
197
        this.originalItemId = originalItemId;
198
    }
199
 
31860 tejbeer 200
    public String getProductGoup() {
201
        return productGoup;
202
    }
30449 amit.gupta 203
 
31860 tejbeer 204
    public void setProductGoup(String productGoup) {
205
        this.productGoup = productGoup;
206
    }
30449 amit.gupta 207
 
31860 tejbeer 208
    public String getBrand() {
209
        return brand;
210
    }
30449 amit.gupta 211
 
31860 tejbeer 212
    public void setBrand(String brand) {
213
        this.brand = brand;
214
    }
30449 amit.gupta 215
 
31860 tejbeer 216
    public String getModelNumber() {
217
        return modelNumber;
218
    }
30449 amit.gupta 219
 
31860 tejbeer 220
    public void setModelNumber(String modelNumber) {
221
        this.modelNumber = modelNumber;
222
    }
30449 amit.gupta 223
 
31860 tejbeer 224
    public String getModelName() {
225
        return modelName;
226
    }
30449 amit.gupta 227
 
31860 tejbeer 228
    public void setModelName(String modelName) {
229
        this.modelName = modelName;
230
    }
30449 amit.gupta 231
 
31860 tejbeer 232
    public String getColor() {
233
        return color;
234
    }
30449 amit.gupta 235
 
31860 tejbeer 236
    public void setColor(String color) {
237
        this.color = color;
238
    }
30449 amit.gupta 239
 
31860 tejbeer 240
    public String getExtraInfo() {
241
        return extraInfo;
242
    }
30449 amit.gupta 243
 
31860 tejbeer 244
    public void setExtraInfo(String extraInfo) {
245
        this.extraInfo = extraInfo;
246
    }
30449 amit.gupta 247
 
31860 tejbeer 248
    public Integer getQuantity() {
249
        return quantity;
250
    }
30449 amit.gupta 251
 
31860 tejbeer 252
    public void setQuantity(Integer quantity) {
253
        this.quantity = quantity;
254
    }
30449 amit.gupta 255
 
31860 tejbeer 256
    public Float getMrp() {
257
        return mrp;
258
    }
30449 amit.gupta 259
 
31860 tejbeer 260
    public void setMrp(Float mrp) {
261
        this.mrp = mrp;
262
    }
30449 amit.gupta 263
 
31860 tejbeer 264
    public Float getUnitPrice() {
265
        return unitPrice;
266
    }
30449 amit.gupta 267
 
31860 tejbeer 268
    public void setUnitPrice(Float unitPrice) {
269
        this.unitPrice = unitPrice;
270
    }
30449 amit.gupta 271
 
37274 amit 272
    public Float getMarginPurchasePrice() {
273
        return marginPurchasePrice;
274
    }
275
 
276
    public void setMarginPurchasePrice(Float marginPurchasePrice) {
277
        this.marginPurchasePrice = marginPurchasePrice;
278
    }
279
 
31860 tejbeer 280
    public Float getUnitWeight() {
281
        return unitWeight;
282
    }
30449 amit.gupta 283
 
31860 tejbeer 284
    public void setUnitWeight(Float unitWeight) {
285
        this.unitWeight = unitWeight;
286
    }
30449 amit.gupta 287
 
31860 tejbeer 288
    public Float getTotalPrice() {
289
        return totalPrice;
290
    }
30449 amit.gupta 291
 
31860 tejbeer 292
    public void setTotalPrice(Float totalPrice) {
293
        this.totalPrice = totalPrice;
294
    }
30449 amit.gupta 295
 
31860 tejbeer 296
    public Float getTransferPrice() {
297
        return transferPrice;
298
    }
30449 amit.gupta 299
 
31860 tejbeer 300
    public void setTransferPrice(Float transferPrice) {
301
        this.transferPrice = transferPrice;
302
    }
30449 amit.gupta 303
 
31860 tejbeer 304
    public Float getTotalWeight() {
305
        return totalWeight;
306
    }
30449 amit.gupta 307
 
31860 tejbeer 308
    public void setTotalWeight(Float totalWeight) {
309
        this.totalWeight = totalWeight;
310
    }
30449 amit.gupta 311
 
31860 tejbeer 312
    public Integer getOrderId() {
313
        return orderId;
314
    }
30449 amit.gupta 315
 
31860 tejbeer 316
    public void setOrderId(Integer orderId) {
317
        this.orderId = orderId;
318
    }
30449 amit.gupta 319
 
33060 amit.gupta 320
    public String getSerialNumber() {
321
        return serialNumber;
31860 tejbeer 322
    }
30449 amit.gupta 323
 
33060 amit.gupta 324
    public void setSerialNumber(String serialNumber) {
325
        this.serialNumber = serialNumber;
31860 tejbeer 326
    }
30449 amit.gupta 327
 
31860 tejbeer 328
    public String getItemNumber() {
329
        return itemNumber;
330
    }
30449 amit.gupta 331
 
31860 tejbeer 332
    public void setItemNumber(String itemNumber) {
333
        this.itemNumber = itemNumber;
334
    }
30449 amit.gupta 335
 
31860 tejbeer 336
    public String getDealText() {
337
        return dealText;
338
    }
30449 amit.gupta 339
 
31860 tejbeer 340
    public void setDealText(String dealText) {
341
        this.dealText = dealText;
342
    }
30449 amit.gupta 343
 
31860 tejbeer 344
    public LocalDateTime getWarrantyExpiryTimestamp() {
345
        return warrantyExpiryTimestamp;
346
    }
30449 amit.gupta 347
 
31860 tejbeer 348
    public void setWarrantyExpiryTimestamp(LocalDateTime warrantyExpiryTimestamp) {
349
        this.warrantyExpiryTimestamp = warrantyExpiryTimestamp;
350
    }
30449 amit.gupta 351
 
31860 tejbeer 352
    public Float getNlc() {
353
        return nlc;
354
    }
30449 amit.gupta 355
 
31860 tejbeer 356
    public void setNlc(Float nlc) {
357
        this.nlc = nlc;
358
    }
30449 amit.gupta 359
 
31860 tejbeer 360
    public Float getLogisticsCost() {
361
        return logisticsCost;
362
    }
30449 amit.gupta 363
 
31860 tejbeer 364
    public void setLogisticsCost(Float logisticsCost) {
365
        this.logisticsCost = logisticsCost;
366
    }
30449 amit.gupta 367
 
31860 tejbeer 368
    public Float getCodCollectionCharges() {
369
        return codCollectionCharges;
370
    }
30449 amit.gupta 371
 
31860 tejbeer 372
    public void setCodCollectionCharges(Float codCollectionCharges) {
373
        this.codCollectionCharges = codCollectionCharges;
374
    }
30449 amit.gupta 375
 
31860 tejbeer 376
    public int getReturnQty() {
377
        return returnQty;
378
    }
30449 amit.gupta 379
 
31860 tejbeer 380
    public void setReturnQty(int returnQty) {
381
        this.returnQty = returnQty;
382
    }
30449 amit.gupta 383
 
31860 tejbeer 384
    public Float getIgstRate() {
385
        return igstRate;
386
    }
30449 amit.gupta 387
 
31860 tejbeer 388
    public void setIgstRate(Float igstRate) {
389
        this.igstRate = igstRate;
390
    }
30449 amit.gupta 391
 
31860 tejbeer 392
    public Float getCgstRate() {
393
        return cgstRate;
394
    }
30449 amit.gupta 395
 
31860 tejbeer 396
    public void setCgstRate(Float cgstRate) {
397
        this.cgstRate = cgstRate;
398
    }
30449 amit.gupta 399
 
31860 tejbeer 400
    public Float getSgstRate() {
401
        return sgstRate;
402
    }
30449 amit.gupta 403
 
31860 tejbeer 404
    public void setSgstRate(Float sgstRate) {
405
        this.sgstRate = sgstRate;
406
    }
30449 amit.gupta 407
 
31860 tejbeer 408
    public String getHsnCode() {
409
        return hsnCode;
410
    }
30449 amit.gupta 411
 
31860 tejbeer 412
    public void setHsnCode(String hsnCode) {
413
        this.hsnCode = hsnCode;
414
    }
30449 amit.gupta 415
 
31860 tejbeer 416
    public LocalDateTime getDamagedExpiryTimestamp() {
417
        return damagedExpiryTimestamp;
418
    }
30449 amit.gupta 419
 
33060 amit.gupta 420
    @Override
421
    public String toString() {
422
        return "LineItem{" +
423
                "id=" + id +
424
                ", itemId=" + itemId +
33767 ranu 425
                ", originalItemId=" + originalItemId +
33060 amit.gupta 426
                ", productGoup='" + productGoup + '\'' +
427
                ", brand='" + brand + '\'' +
428
                ", modelNumber='" + modelNumber + '\'' +
429
                ", modelName='" + modelName + '\'' +
430
                ", color='" + color + '\'' +
431
                ", extraInfo='" + extraInfo + '\'' +
432
                ", quantity=" + quantity +
433
                ", mrp=" + mrp +
434
                ", unitPrice=" + unitPrice +
435
                ", unitWeight=" + unitWeight +
436
                ", totalPrice=" + totalPrice +
437
                ", transferPrice=" + transferPrice +
438
                ", totalWeight=" + totalWeight +
439
                ", orderId=" + orderId +
440
                ", serialNumber='" + serialNumber + '\'' +
441
                ", itemNumber='" + itemNumber + '\'' +
442
                ", dealText='" + dealText + '\'' +
443
                ", warrantyExpiryTimestamp=" + warrantyExpiryTimestamp +
444
                ", nlc=" + nlc +
445
                ", logisticsCost=" + logisticsCost +
446
                ", codCollectionCharges=" + codCollectionCharges +
447
                ", returnQty=" + returnQty +
448
                ", igstRate=" + igstRate +
449
                ", cgstRate=" + cgstRate +
450
                ", sgstRate=" + sgstRate +
451
                ", hsnCode='" + hsnCode + '\'' +
452
                ", damagedExpiryTimestamp=" + damagedExpiryTimestamp +
453
                ", item=" + item +
454
                '}';
455
    }
456
 
457
    @Override
458
    public boolean equals(Object o) {
459
        if (this == o) return true;
460
        if (o == null || getClass() != o.getClass()) return false;
461
        LineItem lineItem = (LineItem) o;
33767 ranu 462
        return returnQty == lineItem.returnQty && Objects.equals(id, lineItem.id) && Objects.equals(itemId, lineItem.itemId) && Objects.equals(originalItemId, lineItem.originalItemId) && Objects.equals(productGoup, lineItem.productGoup) && Objects.equals(brand, lineItem.brand) && Objects.equals(modelNumber, lineItem.modelNumber) && Objects.equals(modelName, lineItem.modelName) && Objects.equals(color, lineItem.color) && Objects.equals(extraInfo, lineItem.extraInfo) && Objects.equals(quantity, lineItem.quantity) && Objects.equals(mrp, lineItem.mrp) && Objects.equals(unitPrice, lineItem.unitPrice) && Objects.equals(unitWeight, lineItem.unitWeight) && Objects.equals(totalPrice, lineItem.totalPrice) && Objects.equals(transferPrice, lineItem.transferPrice) && Objects.equals(totalWeight, lineItem.totalWeight) && Objects.equals(orderId, lineItem.orderId) && Objects.equals(serialNumber, lineItem.serialNumber) && Objects.equals(itemNumber, lineItem.itemNumber) && Objects.equals(dealText, lineItem.dealText) && Objects.equals(warrantyExpiryTimestamp, lineItem.warrantyExpiryTimestamp) && Objects.equals(nlc, lineItem.nlc) && Objects.equals(logisticsCost, lineItem.logisticsCost) && Objects.equals(codCollectionCharges, lineItem.codCollectionCharges) && Objects.equals(igstRate, lineItem.igstRate) && Objects.equals(cgstRate, lineItem.cgstRate) && Objects.equals(sgstRate, lineItem.sgstRate) && Objects.equals(hsnCode, lineItem.hsnCode) && Objects.equals(damagedExpiryTimestamp, lineItem.damagedExpiryTimestamp) && Objects.equals(item, lineItem.item);
33060 amit.gupta 463
    }
464
 
465
    @Override
466
    public int hashCode() {
33767 ranu 467
        return Objects.hash(id, itemId, originalItemId, productGoup, brand, modelNumber, modelName, color, extraInfo, quantity, mrp, unitPrice, unitWeight, totalPrice, transferPrice, totalWeight, orderId, serialNumber, itemNumber, dealText, warrantyExpiryTimestamp, nlc, logisticsCost, codCollectionCharges, returnQty, igstRate, cgstRate, sgstRate, hsnCode, damagedExpiryTimestamp, item);
33060 amit.gupta 468
    }
469
 
31860 tejbeer 470
    public void setDamagedExpiryTimestamp(LocalDateTime damagedExpiryTimestamp) {
471
        this.damagedExpiryTimestamp = damagedExpiryTimestamp;
472
    }
30449 amit.gupta 473
 
31860 tejbeer 474
    public Item getItem() {
475
        return item;
476
    }
30449 amit.gupta 477
 
31860 tejbeer 478
    public void setItem(Item item) {
479
        this.item = item;
480
    }
30449 amit.gupta 481
 
482
 
21545 ashik.ali 483
}