Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
31903 amit.gupta 1
package com.spice.profitmandi.service.scheme;
2
 
3
import com.spice.profitmandi.dao.entity.fofo.OfferPayout;
4
import com.spice.profitmandi.dao.entity.fofo.SchemeInOut;
5
 
6
import java.util.List;
7
import java.util.Objects;
8
import java.util.stream.Collectors;
9
 
10
public class InventoryPayoutModel {
11
    int inventoryItemId;
12
    List<SchemeInOut> schemePayouts;
13
    List<OfferPayout> offerPayouts;
14
 
15
    private double fixedAmount;
16
    private double percentageAmount;
17
    private double paidAmount;
31914 amit.gupta 18
    private double dp;
31903 amit.gupta 19
 
20
 
21
    public InventoryPayoutModel(int inventoryItemId, List<SchemeInOut> schemePayouts, List<OfferPayout> offerPayouts) {
22
        this.inventoryItemId = inventoryItemId;
23
        this.schemePayouts = schemePayouts;
24
        this.offerPayouts = offerPayouts;
25
    }
26
 
27
    @Override
28
    public String toString() {
29
        return "InventoryPayoutModel{" +
30
                "inventoryItemId=" + inventoryItemId +
31
                ", schemePayouts=" + schemePayouts +
32
                ", offerPayouts=" + offerPayouts +
33
                ", fixedAmount=" + fixedAmount +
34
                ", percentageAmount=" + percentageAmount +
35
                ", paidAmount=" + paidAmount +
36
                '}';
37
    }
38
 
39
    public double getPercentageAmount() {
40
        return percentageAmount;
41
    }
42
 
43
    public void setPercentageAmount(double percentageAmount) {
44
        this.percentageAmount = percentageAmount;
45
    }
46
 
47
    public double getPaidAmount() {
48
        double paidAmount = 0;
49
        return schemePayouts.stream().collect(Collectors.summingDouble(x -> x.getAmount())) + offerPayouts.stream().collect(Collectors.summingDouble(x -> x.getAmount()));
50
    }
51
 
52
    public void setPaidAmount(double paidAmount) {
53
        this.paidAmount = paidAmount;
54
    }
55
 
56
    public double getFixedAmount() {
57
        return 0;
58
        //return schemePayouts.stream().filter(x->x.get)
59
    }
60
 
61
    public void setFixedAmount(double fixedAmount) {
62
        this.fixedAmount = fixedAmount;
63
    }
64
 
65
    public int getInventoryItemId() {
66
        return inventoryItemId;
67
    }
68
 
69
    public void setInventoryItemId(int inventoryItemId) {
70
        this.inventoryItemId = inventoryItemId;
71
    }
72
 
73
    public List<SchemeInOut> getSchemePayouts() {
74
        return schemePayouts;
75
    }
76
 
77
    public void setSchemePayouts(List<SchemeInOut> schemePayouts) {
78
        this.schemePayouts = schemePayouts;
79
    }
80
 
81
    public List<OfferPayout> getOfferPayouts() {
82
        return offerPayouts;
83
    }
84
 
31914 amit.gupta 85
    public double getDp() {
86
        return dp;
87
    }
88
 
89
    public void setDp(double dp) {
90
        this.dp = dp;
91
    }
92
 
93
    @Override
94
    public boolean equals(Object o) {
95
        if (this == o) return true;
96
        if (o == null || getClass() != o.getClass()) return false;
97
        InventoryPayoutModel that = (InventoryPayoutModel) o;
98
        return inventoryItemId == that.inventoryItemId && Double.compare(that.fixedAmount, fixedAmount) == 0 && Double.compare(that.percentageAmount, percentageAmount) == 0 && Double.compare(that.paidAmount, paidAmount) == 0 && Double.compare(that.dp, dp) == 0 && Objects.equals(schemePayouts, that.schemePayouts) && Objects.equals(offerPayouts, that.offerPayouts);
99
    }
100
 
101
    @Override
102
    public int hashCode() {
103
        return Objects.hash(inventoryItemId, schemePayouts, offerPayouts, fixedAmount, percentageAmount, paidAmount, dp);
104
    }
105
 
31903 amit.gupta 106
    public void setOfferPayouts(List<OfferPayout> offerPayouts) {
107
        this.offerPayouts = offerPayouts;
108
    }
109
}