Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
34322 ranu 1
package com.spice.profitmandi.dao.entity.fofo;
2
 
3
import javax.persistence.*;
4
import java.time.LocalDateTime;
5
import java.util.Objects;
6
 
7
@Entity
8
@Table(name = "fofo.sales_rating")
9
@NamedQueries({
10
        @NamedQuery(name = "SalesRatingByMonth", query = "" +
11
                "SELECT r FROM SalesRating r WHERE r.fofoId = :fofoId AND r.salesL1Id = :salesL1Id AND r.createTimeStamp BETWEEN :startOfMonth AND :endOfMonth"
12
        ),
36336 ranu 13
        @NamedQuery(name = "SalesRatingByFofoIdAndWeek", query = "" +
14
                "SELECT r FROM SalesRating r WHERE r.fofoId = :fofoId AND r.createTimeStamp BETWEEN :startOfMonth AND :endOfMonth"
15
        ),
34322 ranu 16
        @NamedQuery(
17
                name = "Visit.FindAverageRatingBySalesL1Ids",
18
                query = "SELECT new com.spice.profitmandi.dao.model.SalesRatingModel(v.salesL1Id, AVG(v.rating)) " +
19
                        "FROM SalesRating v WHERE v.salesL1Id IN :salesL1Ids GROUP BY v.salesL1Id"
20
        ),
21
        @NamedQuery(
22
                name = "Visit.FindSalesL1Feedback",
23
                query = "SELECT r FROM SalesRating r" +
24
                        " WHERE r.salesL1Id IN :salesL1Ids" +
25
                        " AND r.createTimeStamp BETWEEN :startDate AND :endDate"
26
        )
27
})
28
public class SalesRating {
29
    @Id
30
    @Column(name = "id", unique = true, updatable = false)
31
    private int id;
32
 
33
    @Column(name = "rating")
34
    private int rating;
35
 
36
    @Column(name = "comment")
37
    private String comment;
38
 
39
    @Column(name = "fofo_id")
40
    private int fofoId;
41
 
42
    @Column(name = "sales_l1_id")
43
    private int salesL1Id;
44
 
45
    @Column(name = "create_timestamp")
46
    private LocalDateTime createTimeStamp;
47
 
48
    public int getId() {
49
        return id;
50
    }
51
 
52
    public void setId(int id) {
53
        this.id = id;
54
    }
55
 
56
    public int getRating() {
57
        return rating;
58
    }
59
 
60
    public void setRating(int rating) {
61
        this.rating = rating;
62
    }
63
 
64
    public String getComment() {
65
        return comment;
66
    }
67
 
68
    public void setComment(String comment) {
69
        this.comment = comment;
70
    }
71
 
72
    public int getFofoId() {
73
        return fofoId;
74
    }
75
 
76
    public void setFofoId(int fofoId) {
77
        this.fofoId = fofoId;
78
    }
79
 
80
    public int getSalesL1Id() {
81
        return salesL1Id;
82
    }
83
 
84
    public void setSalesL1Id(int salesL1Id) {
85
        this.salesL1Id = salesL1Id;
86
    }
87
 
88
    public LocalDateTime getCreateTimeStamp() {
89
        return createTimeStamp;
90
    }
91
 
92
    public void setCreateTimeStamp(LocalDateTime createTimeStamp) {
93
        this.createTimeStamp = createTimeStamp;
94
    }
95
 
96
    @Override
97
    public boolean equals(Object o) {
98
        if (this == o) return true;
99
        if (o == null || getClass() != o.getClass()) return false;
100
        SalesRating that = (SalesRating) o;
101
        return id == that.id && rating == that.rating && fofoId == that.fofoId && salesL1Id == that.salesL1Id && Objects.equals(comment, that.comment) && Objects.equals(createTimeStamp, that.createTimeStamp);
102
    }
103
 
104
    @Override
105
    public int hashCode() {
106
        return Objects.hash(id, rating, comment, fofoId, salesL1Id, createTimeStamp);
107
    }
108
 
109
    @Override
110
    public String toString() {
111
        return "SalesRating{" +
112
                "id=" + id +
113
                ", rating=" + rating +
114
                ", comment='" + comment + '\'' +
115
                ", fofoId=" + fofoId +
116
                ", salesL1Id=" + salesL1Id +
117
                ", createTimeStamp=" + createTimeStamp +
118
                '}';
119
    }
120
}