001: /*
002: * Copyright 2007 The Kuali Foundation.
003: *
004: * Licensed under the Educational Community License, Version 1.0 (the "License");
005: * you may not use this file except in compliance with the License.
006: * You may obtain a copy of the License at
007: *
008: * http://www.opensource.org/licenses/ecl1.php
009: *
010: * Unless required by applicable law or agreed to in writing, software
011: * distributed under the License is distributed on an "AS IS" BASIS,
012: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013: * See the License for the specific language governing permissions and
014: * limitations under the License.
015: */
016: package org.kuali.module.labor.bo;
017:
018: import java.math.BigDecimal;
019: import java.util.LinkedHashMap;
020:
021: import org.kuali.kfs.KFSPropertyConstants;
022: import org.kuali.kfs.bo.TargetAccountingLine;
023:
024: /**
025: * Labor business object for special case <code>{@link TargetAccountingLine}</code> type for
026: * <code>{@link org.kuali.module.labor.document.ExpenseTransferDocument}</code>
027: */
028: public class ExpenseTransferTargetAccountingLine extends
029: TargetAccountingLine implements ExpenseTransferAccountingLine,
030: Comparable<ExpenseTransferTargetAccountingLine> {
031: private String positionNumber;
032: private BigDecimal payrollTotalHours;
033: private Integer payrollEndDateFiscalYear;
034: private String payrollEndDateFiscalPeriodCode;
035: private String emplid;
036: private LaborObject laborObject;
037:
038: /**
039: * Gets the positionNumber.
040: *
041: * @return Returns the positionNumber
042: */
043: public String getPositionNumber() {
044: return positionNumber;
045: }
046:
047: /**
048: * Sets the positionNumber.
049: *
050: * @param positionNumber The positionNumber to set.
051: */
052: public void setPositionNumber(String positionNumber) {
053: this .positionNumber = positionNumber;
054: }
055:
056: /**
057: * Gets the payrollTotalHours.
058: *
059: * @return Returns the payrollTotalHours
060: */
061: public BigDecimal getPayrollTotalHours() {
062: return payrollTotalHours;
063: }
064:
065: /**
066: * Sets the payrollTotalHours.
067: *
068: * @param payrollTotalHours The payrollTotalHours to set.
069: */
070: public void setPayrollTotalHours(BigDecimal payrollTotalHours) {
071: this .payrollTotalHours = payrollTotalHours;
072: }
073:
074: /**
075: * Gets the payrollEndDateFiscalYear.
076: *
077: * @return Returns the payrollEndDateFiscalYear
078: */
079: public Integer getPayrollEndDateFiscalYear() {
080: return payrollEndDateFiscalYear;
081: }
082:
083: /**
084: * Sets the payrollEndDateFiscalYear.
085: *
086: * @param payrollEndDateFiscalYear The payrollEndDateFiscalYear to set.
087: */
088: public void setPayrollEndDateFiscalYear(
089: Integer payrollEndDateFiscalYear) {
090: this .payrollEndDateFiscalYear = payrollEndDateFiscalYear;
091: }
092:
093: /**
094: * Gets the payrollEndDateFiscalPeriodCode.
095: *
096: * @return Returns the payrollEndDateFiscalPeriodCode
097: */
098: public String getPayrollEndDateFiscalPeriodCode() {
099: return payrollEndDateFiscalPeriodCode;
100: }
101:
102: /**
103: * Sets the payrollEndDateFiscalPeriodCode.
104: *
105: * @param payrollEndDateFiscalPeriodCode The payrollEndDateFiscalPeriodCode to set.
106: */
107: public void setPayrollEndDateFiscalPeriodCode(
108: String payrollEndDateFiscalPeriodCode) {
109: this .payrollEndDateFiscalPeriodCode = payrollEndDateFiscalPeriodCode;
110: }
111:
112: /**
113: * Gets the emplid.
114: *
115: * @return Returns the emplid
116: */
117: public String getEmplid() {
118: return emplid;
119: }
120:
121: /**
122: * Sets the emplid.
123: *
124: * @param emplid The emplid to set.
125: */
126: public void setEmplid(String emplid) {
127: this .emplid = emplid;
128: }
129:
130: /**
131: * Gets the laborObject.
132: *
133: * @return Returns the laborObject.
134: */
135: public LaborObject getLaborObject() {
136: return laborObject;
137: }
138:
139: /**
140: * Sets the laborObject.
141: *
142: * @param laborObject The laborObject to set.
143: */
144: @Deprecated
145: public void setLaborObject(LaborObject laborObject) {
146: this .laborObject = laborObject;
147: }
148:
149: /**
150: * @see org.kuali.core.bo.BusinessObjectBase#toStringMapper()
151: */
152: protected LinkedHashMap toStringMapper() {
153: LinkedHashMap m = new LinkedHashMap();
154: m.put(KFSPropertyConstants.DOCUMENT_NUMBER, this
155: .getDocumentNumber());
156: if (this .getSequenceNumber() != null) {
157: m
158: .put("sequenceNumber", this .getSequenceNumber()
159: .toString());
160: }
161:
162: return m;
163: }
164:
165: /**
166: * Used to for sorting <code>{@link ExpenseTransferAccountingLine}</code> instances within a java
167: * <code>{@link java.util.Collection}</code> by payrollEndDateFisdalYear and payrollEndDateFiscalPeriodCode
168: *
169: * @see java.lang.Comparable#compareTo(T)
170: */
171: public int compareTo(ExpenseTransferTargetAccountingLine o) {
172: if (o == null)
173: throw new NullPointerException(
174: "ExpenseTransferAccountingLine is null");
175: int retval = 0;
176: retval = getPayrollEndDateFiscalYear().compareTo(
177: o.getPayrollEndDateFiscalYear());
178:
179: if (retval == 0) {
180: retval = new Integer(getPayrollEndDateFiscalPeriodCode())
181: .compareTo(new Integer(o
182: .getPayrollEndDateFiscalPeriodCode()));
183: }
184:
185: return retval;
186: }
187:
188: /**
189: * Used to copy a particular transaction line into another This method...
190: *
191: * @param from
192: */
193: public void copyFrom(ExpenseTransferAccountingLine from) {
194: super .copyFrom(from);
195: System.out.println("******8Source - Copy from XXXXXXXXXXXXXX");
196: this.setPayrollTotalHours(from.getPayrollTotalHours());
197: this.setPositionNumber(from.getPositionNumber());
198: this.setPayrollEndDateFiscalYear(from
199: .getPayrollEndDateFiscalYear());
200: this.setPayrollEndDateFiscalPeriodCode(from
201: .getPayrollEndDateFiscalPeriodCode());
202: this.setEmplid(from.getEmplid());
203: }
204: }
|