1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.kpme.core.paygrade;
17
18 import java.math.BigDecimal;
19 import java.sql.Timestamp;
20
21 import org.kuali.kpme.core.api.paygrade.PayGrade;
22 import org.kuali.kpme.core.api.paygrade.PayGradeContract;
23 import org.kuali.kpme.core.bo.HrBusinessObject;
24 import org.kuali.kpme.core.util.HrConstants;
25
26 import com.google.common.collect.ImmutableList;
27 import com.google.common.collect.ImmutableMap;
28
29 public class PayGradeBo extends HrBusinessObject implements PayGradeContract {
30
31 private static final String SAL_GROUP = "salGroup";
32 private static final String PAY_GRADE = "payGrade";
33
34 private static final long serialVersionUID = -5736949952127760566L;
35
36 public static final ImmutableList<String> BUSINESS_KEYS = new ImmutableList.Builder<String>()
37 .add(PAY_GRADE)
38 .add(SAL_GROUP)
39 .build();
40
41 public static final String CACHE_NAME = HrConstants.CacheNamespace.NAMESPACE_PREFIX + "PayGrade";
42
43 private String hrPayGradeId;
44 private String payGrade;
45 private String description;
46 private String salGroup;
47 private String rateType;
48 private BigDecimal minRate;
49 private BigDecimal maxRate;
50 private BigDecimal midPointRate;
51 private BigDecimal maxHiringRate;
52
53
54 @Override
55 public ImmutableMap<String, Object> getBusinessKeyValuesMap() {
56 return new ImmutableMap.Builder<String, Object>()
57 .put(PAY_GRADE, this.getPayGrade())
58 .put(SAL_GROUP, this.getSalGroup())
59 .build();
60 }
61
62
63 public String getHrPayGradeId() {
64 return hrPayGradeId;
65 }
66
67 public void setHrPayGradeId(String hrPayGradeId) {
68 this.hrPayGradeId = hrPayGradeId;
69 }
70
71 public String getPayGrade() {
72 return payGrade;
73 }
74
75 public void setPayGrade(String payGrade) {
76 this.payGrade = payGrade;
77 }
78
79 public String getDescription() {
80 return description;
81 }
82
83 public void setDescription(String description) {
84 this.description = description;
85 }
86
87 @Override
88 public String getUniqueKey() {
89 return payGrade;
90 }
91
92 @Override
93 public String getId() {
94 return getHrPayGradeId();
95 }
96
97 @Override
98 public void setId(String id) {
99 setHrPayGradeId(id);
100 }
101
102 public String getSalGroup() {
103 return salGroup;
104 }
105
106 public void setSalGroup(String salGroup) {
107 this.salGroup = salGroup;
108 }
109
110 public String getRateType() {
111 return rateType;
112 }
113
114 public void setRateType(String rateType) {
115 this.rateType = rateType;
116 }
117
118 public BigDecimal getMinRate() {
119 return minRate;
120 }
121
122 public void setMinRate(BigDecimal minRate) {
123 this.minRate = minRate;
124 }
125
126 public BigDecimal getMaxRate() {
127 return maxRate;
128 }
129
130 public void setMaxRate(BigDecimal maxRate) {
131 this.maxRate = maxRate;
132 }
133
134 public BigDecimal getMidPointRate() {
135 return midPointRate;
136 }
137
138 public void setMidPointRate(BigDecimal midPointRate) {
139 this.midPointRate = midPointRate;
140 }
141
142 public BigDecimal getMaxHiringRate() {
143 return maxHiringRate;
144 }
145
146 public void setMaxHiringRate(BigDecimal maxHiringRate) {
147 this.maxHiringRate = maxHiringRate;
148 }
149
150 public static PayGradeBo from(PayGrade im) {
151 if (im == null) {
152 return null;
153 }
154 PayGradeBo pg = new PayGradeBo();
155
156 pg.setHrPayGradeId(im.getHrPayGradeId());
157 pg.setPayGrade(im.getPayGrade());
158 pg.setDescription(im.getDescription());
159 pg.setSalGroup(im.getSalGroup());
160 pg.setRateType(im.getRateType());
161 pg.setMinRate(im.getMinRate());
162 pg.setMaxRate(im.getMaxRate());
163 pg.setMidPointRate(im.getMidPointRate());
164 pg.setMaxHiringRate(im.getMaxHiringRate());
165
166
167 pg.setEffectiveDate(im.getEffectiveLocalDate() == null ? null : im.getEffectiveLocalDate().toDate());
168 pg.setActive(im.isActive());
169 if (im.getCreateTime() != null) {
170 pg.setTimestamp(new Timestamp(im.getCreateTime().getMillis()));
171 }
172 pg.setUserPrincipalId(im.getUserPrincipalId());
173 pg.setVersionNumber(im.getVersionNumber());
174 pg.setObjectId(im.getObjectId());
175
176 return pg;
177 }
178
179 public static PayGrade to(PayGradeBo bo) {
180 if (bo == null) {
181 return null;
182 }
183
184 return PayGrade.Builder.create(bo).build();
185 }
186 }