1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.kpme.tklm.leave.summary;
17
18 import java.io.Serializable;
19 import java.math.BigDecimal;
20 import java.util.SortedMap;
21
22 import org.kuali.kpme.tklm.api.leave.summary.LeaveSummaryRowContract;
23
24 public class LeaveSummaryRow implements Serializable, Comparable<LeaveSummaryRow>, LeaveSummaryRowContract {
25
26 private static final long serialVersionUID = 7236801989688508388L;
27 private String accrualCategory;
28
29 private String accrualCategoryId;
30 private String accrualCategoryRuleId;
31 private String infractingLeaveBlockId;
32 private BigDecimal carryOver;
33 private BigDecimal ytdAccruedBalance;
34 private BigDecimal ytdApprovedUsage;
35 private BigDecimal leaveBalance;
36 private BigDecimal pendingLeaveAccrual;
37 private BigDecimal pendingLeaveRequests;
38 private BigDecimal pendingLeaveBalance;
39 private BigDecimal pendingAvailableUsage;
40 private BigDecimal usageLimit;
41 private BigDecimal fmlaUsage;
42
43 private boolean transferable;
44 private boolean payoutable;
45 private BigDecimal maxCarryOver;
46 private SortedMap<String, BigDecimal> priorYearsTotalAccrued;
47 private SortedMap<String, BigDecimal> priorYearsUsage;
48 private SortedMap<String, BigDecimal> yearlyCarryOver;
49
50 public String getAccrualCategory() {
51 return accrualCategory;
52 }
53 public void setAccrualCategory(String accrualCategory) {
54 this.accrualCategory = accrualCategory;
55 }
56 public String getAccrualCategoryId() {
57 return accrualCategoryId;
58 }
59 public void setAccrualCategoryId(String accrualCategoryId) {
60 this.accrualCategoryId = accrualCategoryId;
61 }
62 public String getAccrualCategoryRuleId() {
63 return accrualCategoryRuleId;
64 }
65
66 public void setAccrualCategoryRuleId(String accrualCategoryRuleId) {
67 this.accrualCategoryRuleId = accrualCategoryRuleId;
68 }
69 public BigDecimal getCarryOver() {
70 return carryOver;
71 }
72 public void setCarryOver(BigDecimal carryOver) {
73 this.carryOver = carryOver;
74 }
75 public BigDecimal getYtdAccruedBalance() {
76 return ytdAccruedBalance;
77 }
78 public void setYtdAccruedBalance(BigDecimal ytdAccruedBalance) {
79 this.ytdAccruedBalance = ytdAccruedBalance;
80 }
81 public BigDecimal getYtdApprovedUsage() {
82 return ytdApprovedUsage;
83 }
84 public void setYtdApprovedUsage(BigDecimal ytdApprovedUsage) {
85 this.ytdApprovedUsage = ytdApprovedUsage;
86 }
87 public BigDecimal getLeaveBalance() {
88 return leaveBalance;
89 }
90 public void setLeaveBalance(BigDecimal leaveBalance) {
91 this.leaveBalance = leaveBalance;
92 }
93 public BigDecimal getPendingLeaveAccrual() {
94 return pendingLeaveAccrual;
95 }
96 public void setPendingLeaveAccrual(BigDecimal pendingLeaveAccrual) {
97 this.pendingLeaveAccrual = pendingLeaveAccrual;
98 }
99 public BigDecimal getPendingLeaveRequests() {
100 return pendingLeaveRequests;
101 }
102 public void setPendingLeaveRequests(BigDecimal pendingLeaveRequests) {
103 this.pendingLeaveRequests = pendingLeaveRequests;
104 }
105 public BigDecimal getPendingLeaveBalance() {
106 return pendingLeaveBalance;
107 }
108 public void setPendingLeaveBalance(BigDecimal pendingLeaveBalance) {
109 this.pendingLeaveBalance = pendingLeaveBalance;
110 }
111 public BigDecimal getPendingAvailableUsage() {
112 return pendingAvailableUsage;
113 }
114 public void setPendingAvailableUsage(BigDecimal pendingAvailableUsage) {
115 this.pendingAvailableUsage = pendingAvailableUsage;
116 }
117 public BigDecimal getUsageLimit() {
118 return usageLimit;
119 }
120 public void setUsageLimit(BigDecimal usageLimit) {
121 this.usageLimit = usageLimit;
122 }
123 public BigDecimal getFmlaUsage() {
124 return fmlaUsage;
125 }
126 public void setFmlaUsage(BigDecimal fmlaUsage) {
127 this.fmlaUsage = fmlaUsage;
128 }
129 public BigDecimal getAccruedBalance() {
130 BigDecimal carryOver = getCarryOver() == null ? BigDecimal.ZERO : getCarryOver();
131 BigDecimal ytdAccruedBalance = getYtdAccruedBalance() == null ? BigDecimal.ZERO : getYtdAccruedBalance();
132 BigDecimal ytdApproved = getYtdApprovedUsage() == null ? BigDecimal.ZERO : getYtdApprovedUsage();
133 return carryOver.add(ytdAccruedBalance).subtract(ytdApproved);
134 }
135 public boolean isTransferable() {
136
137
138
139
140
141 return transferable;
142 }
143 public void setTransferable(boolean transferable) {
144 this.transferable = transferable;
145 }
146 public boolean isPayoutable() {
147 return payoutable;
148 }
149 public void setPayoutable(boolean payoutable) {
150 this.payoutable = payoutable;
151 }
152
153
154 public SortedMap<String, BigDecimal> getPriorYearsUsage() {
155 return priorYearsUsage;
156 }
157
158 public void setPriorYearsUsage(SortedMap<String, BigDecimal> priorYearsUsage) {
159 this.priorYearsUsage = priorYearsUsage;
160 }
161
162 public SortedMap<String, BigDecimal> getPriorYearsTotalAccrued() {
163 return priorYearsTotalAccrued;
164 }
165
166 public void setPriorYearsTotalAccrued(SortedMap<String, BigDecimal> priorYearsTotalAccrued) {
167 this.priorYearsTotalAccrued = priorYearsTotalAccrued;
168 }
169
170 public BigDecimal getMaxCarryOver() {
171 return maxCarryOver;
172 }
173
174 public void setMaxCarryOver(BigDecimal maxCarryOver) {
175 this.maxCarryOver = maxCarryOver;
176 }
177
178 public String getInfractingLeaveBlockId() {
179 return infractingLeaveBlockId;
180 }
181
182 public void setInfractingLeaveBlockId(String infractingLeaveBlockId) {
183 this.infractingLeaveBlockId = infractingLeaveBlockId;
184 }
185 @Override
186 public int compareTo(LeaveSummaryRow row) {
187 return this.accrualCategory.compareToIgnoreCase(row.accrualCategory);
188 }
189 }