1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.kpme.tklm.time.timesummary;
17
18 import java.io.Serializable;
19 import java.math.BigDecimal;
20 import java.util.ArrayList;
21 import java.util.HashMap;
22 import java.util.List;
23 import java.util.Map;
24
25 import org.kuali.kpme.core.util.HrConstants;
26 import org.kuali.kpme.tklm.api.time.timesummary.EarnCodeSectionContract;
27
28 public class EarnCodeSection implements Serializable, EarnCodeSectionContract {
29
30 private static final long serialVersionUID = 5595259268960130907L;
31 private String earnCode;
32 private String description;
33 private Map<String, AssignmentRow> assignKeyToAssignmentRowMap = new HashMap<String, AssignmentRow>();
34 private List<AssignmentRow> assignmentsRows = new ArrayList<AssignmentRow>();
35 private List<BigDecimal> totals = new ArrayList<BigDecimal>();
36 private Boolean isAmountEarnCode = Boolean.FALSE;;
37
38 private EarnGroupSection earnGroupSection;
39
40 public String getEarnCode() {
41 return earnCode;
42 }
43 public void setEarnCode(String earnCode) {
44 this.earnCode = earnCode;
45 }
46 public String getDescription() {
47 return description;
48 }
49 public void setDescription(String description) {
50 this.description = description;
51 }
52
53 public void addAssignmentRow(AssignmentRow assignRow) {
54 int i = 0;
55 for (AssignmentColumn assignmentColumn : assignRow.getAssignmentColumns().values()) {
56 BigDecimal value = totals.get(i).add(assignmentColumn.getTotal(), HrConstants.MATH_CONTEXT);
57 totals.set(i, value.setScale(HrConstants.BIG_DECIMAL_SCALE, HrConstants.BIG_DECIMAL_SCALE_ROUNDING));
58 i++;
59 }
60 assignKeyToAssignmentRowMap.put(assignRow.getAssignmentKey(), assignRow);
61 assignmentsRows.add(assignRow);
62 }
63
64 public void addWeeklyTotal(int index, int weekSize){
65
66 BigDecimal weeklyTotal = BigDecimal.ZERO;
67
68
69
70
71
72
73
74
75 for(AssignmentRow ar : assignmentsRows){
76 ar.addWeeklyTotal(index, weekSize);
77 }
78 }
79
80 public List<AssignmentRow> getAssignmentsRows() {
81 return assignmentsRows;
82 }
83 public void setAssignmentsRows(List<AssignmentRow> assignmentsRows) {
84 this.assignmentsRows = assignmentsRows;
85 }
86 public List<BigDecimal> getTotals() {
87 return totals;
88 }
89 public void setTotals(List<BigDecimal> totals) {
90 this.totals = totals;
91 }
92 public Map<String, AssignmentRow> getAssignKeyToAssignmentRowMap() {
93 return assignKeyToAssignmentRowMap;
94 }
95 public void setAssignKeyToAssignmentRowMap(
96 Map<String, AssignmentRow> assignKeyToAssignmentRowMap) {
97 this.assignKeyToAssignmentRowMap = assignKeyToAssignmentRowMap;
98 }
99
100 public void addToTotal(int index, BigDecimal hrs){
101 BigDecimal total = getTotals().get(index);
102 total = total.add(hrs, HrConstants.MATH_CONTEXT);
103 getTotals().set(index, total);
104 }
105
106 public void addToAmount(int index, BigDecimal amount){
107 BigDecimal amtTotal = getTotals().get(index);
108 amtTotal = amtTotal.add(amount, HrConstants.MATH_CONTEXT);
109 getTotals().set(index, amtTotal);
110 }
111 public EarnGroupSection getEarnGroupSection() {
112 return earnGroupSection;
113 }
114 public void setEarnGroupSection(EarnGroupSection earnGroupSection) {
115 this.earnGroupSection = earnGroupSection;
116 }
117 public Boolean getIsAmountEarnCode() {
118 return isAmountEarnCode;
119 }
120 public void setIsAmountEarnCode(Boolean isAmountEarnCode) {
121 this.isAmountEarnCode = isAmountEarnCode;
122 }
123
124
125 }