001 /*
002 * Copyright 2011 The Kuali Foundation.
003 *
004 * Licensed under the Educational Community License, Version 2.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/ecl2.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.kfs.gl.businessobject;
017
018 import java.sql.Date;
019 import java.util.HashMap;
020 import java.util.LinkedHashMap;
021 import java.util.Map;
022
023 import org.kuali.kfs.coa.businessobject.Chart;
024 import org.kuali.kfs.coa.businessobject.Organization;
025 import org.kuali.kfs.sys.KFSPropertyConstants;
026 import org.kuali.kfs.sys.context.SpringContext;
027 import org.kuali.rice.kns.bo.Campus;
028 import org.kuali.rice.kns.bo.PersistableBusinessObjectBase;
029 import org.kuali.rice.kns.service.KualiModuleService;
030 import org.kuali.rice.kns.util.KNSPropertyConstants;
031 import org.kuali.rice.kns.util.KualiDecimal;
032
033 /**
034 * This class represents a unique header for use with a CollectorBatch class
035 */
036 public class CollectorHeader extends PersistableBusinessObjectBase {
037
038 private String chartOfAccountsCode;
039 private String organizationCode;
040 private Date processTransmissionDate;
041 private Integer processBatchSequenceNumber;
042 private Integer processTotalRecordCount;
043 private KualiDecimal processTotalAmount;
044 private String campusCode;
045 private String contactPersonPhoneNumber;
046 private String contactMailingAddress;
047 private String contactDepartmentName;
048
049 private Organization organization;
050 private Chart chartOfAccounts;
051 private Campus campus;
052
053 /**
054 * Default constructor.
055 */
056 public CollectorHeader() {
057
058 }
059
060 /**
061 * Gets the chartOfAccountsCode attribute.
062 *
063 * @return Returns the chartOfAccountsCode
064 */
065 public String getChartOfAccountsCode() {
066 return chartOfAccountsCode;
067 }
068
069 /**
070 * Sets the chartOfAccountsCode attribute.
071 *
072 * @param chartOfAccountsCode The chartOfAccountsCode to set.
073 */
074 public void setChartOfAccountsCode(String chartOfAccountsCode) {
075 this.chartOfAccountsCode = chartOfAccountsCode;
076 }
077
078
079 /**
080 * Gets the organizationCode attribute.
081 *
082 * @return Returns the organizationCode
083 */
084 public String getOrganizationCode() {
085 return organizationCode;
086 }
087
088 /**
089 * Sets the organizationCode attribute.
090 *
091 * @param organizationCode The organizationCode to set.
092 */
093 public void setOrganizationCode(String organizationCode) {
094 this.organizationCode = organizationCode;
095 }
096
097
098 /**
099 * Gets the processTransmissionDate attribute.
100 *
101 * @return Returns the processTransmissionDate
102 */
103 public Date getProcessTransmissionDate() {
104 return processTransmissionDate;
105 }
106
107 /**
108 * Sets the processTransmissionDate attribute.
109 *
110 * @param processTransmissionDate The processTransmissionDate to set.
111 */
112 public void setProcessTransmissionDate(Date processTransmissionDate) {
113 this.processTransmissionDate = processTransmissionDate;
114 }
115
116
117 /**
118 * Gets the processBatchSequenceNumber attribute.
119 *
120 * @return Returns the processBatchSequenceNumber
121 */
122 public Integer getProcessBatchSequenceNumber() {
123 return processBatchSequenceNumber;
124 }
125
126 /**
127 * Sets the processBatchSequenceNumber attribute.
128 *
129 * @param processBatchSequenceNumber The processBatchSequenceNumber to set.
130 */
131 public void setProcessBatchSequenceNumber(Integer processBatchSequenceNumber) {
132 this.processBatchSequenceNumber = processBatchSequenceNumber;
133 }
134
135
136 /**
137 * Gets the processTotalRecordCount attribute.
138 *
139 * @return Returns the processTotalRecordCount
140 */
141 public Integer getProcessTotalRecordCount() {
142 return processTotalRecordCount;
143 }
144
145 /**
146 * Sets the processTotalRecordCount attribute.
147 *
148 * @param processTotalRecordCount The processTotalRecordCount to set.
149 */
150 public void setProcessTotalRecordCount(Integer processTotalRecordCount) {
151 this.processTotalRecordCount = processTotalRecordCount;
152 }
153
154
155 /**
156 * Gets the processTotalAmount attribute.
157 *
158 * @return Returns the processTotalAmount
159 */
160 public KualiDecimal getProcessTotalAmount() {
161 return processTotalAmount;
162 }
163
164 /**
165 * Sets the processTotalAmount attribute.
166 *
167 * @param processTotalAmount The processTotalAmount to set.
168 */
169 public void setProcessTotalAmount(KualiDecimal processTotalAmount) {
170 this.processTotalAmount = processTotalAmount;
171 }
172
173
174 /**
175 * Gets the organization attribute.
176 *
177 * @return Returns the organization
178 */
179 public Organization getOrganization() {
180 return organization;
181 }
182
183 /**
184 * Sets the organization attribute.
185 *
186 * @param organization The organization to set.
187 * @deprecated
188 */
189 public void setOrganization(Organization organization) {
190 this.organization = organization;
191 }
192
193 /**
194 * Gets the chartOfAccounts attribute.
195 *
196 * @return Returns the chartOfAccounts
197 */
198 public Chart getChartOfAccounts() {
199 return chartOfAccounts;
200 }
201
202 /**
203 * Sets the chartOfAccounts attribute.
204 *
205 * @param chartOfAccounts The chartOfAccounts to set.
206 * @deprecated
207 */
208 public void setChartOfAccounts(Chart chartOfAccounts) {
209 this.chartOfAccounts = chartOfAccounts;
210 }
211
212 /**
213 * @see org.kuali.rice.kns.bo.BusinessObjectBase#toStringMapper()
214 */
215 protected LinkedHashMap toStringMapper() {
216 LinkedHashMap<String, String> m = new LinkedHashMap();
217 m.put(KFSPropertyConstants.CHART_OF_ACCOUNTS_CODE, this.chartOfAccountsCode);
218 m.put(KFSPropertyConstants.ORGANIZATION_CODE, this.organizationCode);
219 if (this.processTransmissionDate != null) {
220 m.put(KFSPropertyConstants.PROCESS_TRANSMISSION_DATE, this.processTransmissionDate.toString());
221 }
222 if (this.processBatchSequenceNumber != null) {
223 m.put(KFSPropertyConstants.PROCESS_BATCH_SEQUENCE_NUMBER, this.processBatchSequenceNumber.toString());
224 }
225 if (this.processTotalRecordCount != null) {
226 m.put(KFSPropertyConstants.PROCESS_TOTAL_RECORD_COUNT, this.processTotalRecordCount.toString());
227 }
228 if (this.processTotalAmount != null) {
229 m.put(KFSPropertyConstants.PROCESS_TOTAL_AMOUNT, this.processTotalAmount.toString());
230 }
231 return m;
232 }
233
234 /**
235 * Gets the campusCode attribute.
236 *
237 * @return Returns the campusCode.
238 */
239 public String getCampusCode() {
240 return campusCode;
241 }
242
243 /**
244 * Sets the campusCode attribute value.
245 *
246 * @param campusCode The campusCode to set.
247 */
248 public void setContactCampusCode(String campusCode) {
249 this.campusCode = campusCode;
250 }
251
252 /**
253 * Gets the departmentName attribute.
254 *
255 * @return Returns the departmentName.
256 */
257 public String getContactDepartmentName() {
258 return contactDepartmentName;
259 }
260
261 /**
262 * Sets the departmentName attribute value.
263 *
264 * @param departmentName The departmentName to set.
265 */
266 public void setContactDepartmentName(String contactDepartmentName) {
267 this.contactDepartmentName = contactDepartmentName;
268 }
269
270 /**
271 * Gets the mailingAddress attribute.
272 *
273 * @return Returns the mailingAddress.
274 */
275 public String getContactMailingAddress() {
276 return contactMailingAddress;
277 }
278
279 /**
280 * Sets the mailingAddress attribute value.
281 *
282 * @param mailingAddress The mailingAddress to set.
283 */
284 public void setContactMailingAddress(String contactMailingAddress) {
285 this.contactMailingAddress = contactMailingAddress;
286 }
287
288 /**
289 * Gets the phoneNumber attribute.
290 *
291 * @return Returns the phoneNumber.
292 */
293 public String getContactPersonPhoneNumber() {
294 return contactPersonPhoneNumber;
295 }
296
297 /**
298 * Sets the phoneNumber attribute value.
299 *
300 * @param phoneNumber The phoneNumber to set.
301 */
302 public void setContactPersonPhoneNumber(String contactPersonPhoneNumber) {
303 this.contactPersonPhoneNumber = contactPersonPhoneNumber;
304 }
305
306 /**
307 * Gets the campus attribute.
308 *
309 * @return Returns the campus.
310 */
311 public Campus getCampus() {
312 Map<String, Object> criteria = new HashMap<String, Object>();
313 criteria.put(KNSPropertyConstants.CAMPUS_CODE, campusCode);
314 return campus = (Campus) SpringContext.getBean(KualiModuleService.class).getResponsibleModuleService(Campus.class).getExternalizableBusinessObject(Campus.class, criteria);
315 }
316
317 /**
318 * Sets the campus attribute value.
319 *
320 * @param campus The campus to set.
321 */
322 public void setCampus(Campus campus) {
323 this.campus = campus;
324 }
325 }