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.purap.document;
017:
018: import java.sql.Date;
019: import java.sql.Timestamp;
020: import java.util.List;
021:
022: import org.kuali.core.document.DocumentBase;
023: import org.kuali.core.util.KualiDecimal;
024: import org.kuali.kfs.bo.SourceAccountingLine;
025:
026: /**
027: * Credit Memo Document subset containing fields needed for routing and searchable attributes for workflow, in order to reduce data
028: * transfer and improve performance.
029: */
030: public class WorkflowXmlCreditMemoDocument extends DocumentBase {
031:
032: // fields from PurchasingAccountsPayableDocumentBase
033: private Integer purapDocumentIdentifier;
034: private Integer vendorHeaderGeneratedIdentifier;
035: private Integer vendorDetailAssignedIdentifier;
036: private String vendorName;
037: private String vendorNumber;
038: private String vendorCustomerNumber;
039: private Date accountsPayableApprovalDate;
040: private List<SourceAccountingLine> accountsForRouting;
041: private String statusCode;
042:
043: // fields from AccountsPayableDocumentBase
044: private Integer purchaseOrderIdentifier;
045: private String chartOfAccountsCode;
046: private String organizationCode;
047: private String processingCampusCode;
048: private Date extractedDate;
049: private boolean holdIndicator;
050:
051: // fields from CreditMemoDocument
052: private Integer paymentRequestIdentifier;
053: private String creditMemoNumber;
054: private Date creditMemoDate;
055: private KualiDecimal creditMemoAmount;
056: private Timestamp creditMemoPaidTimestamp;
057:
058: // dummy reference objects, with same field names as the original reference objects,
059: // but only contain the fields that are actually used in workflow
060: private DummyStatus status;
061:
062: /**
063: * Dummy Reference Object for Status.
064: */
065: public class DummyStatus {
066: private String statusDescription;
067:
068: /**
069: * Constructs a Dummy Status.
070: *
071: * @param statusDescription
072: */
073: public DummyStatus(String statusDescription) {
074: this .statusDescription = statusDescription;
075: }
076:
077: public String getStatusDescription() {
078: return this .statusDescription;
079: }
080:
081: public void setStatusDescription(String statusDescription) {
082: this .statusDescription = statusDescription;
083: }
084: }
085:
086: /**
087: * Constructs a WorkflowXmlCreditMemoDocument.java.
088: */
089: public WorkflowXmlCreditMemoDocument() {
090: super ();
091: }
092:
093: /**
094: * Constructor to populate from CreditMemoDocument.
095: *
096: * @param document A CreditMemoDocument
097: */
098: public WorkflowXmlCreditMemoDocument(CreditMemoDocument document) {
099: super ();
100:
101: this .documentHeader = document.getDocumentHeader();
102: this .documentNumber = document.getDocumentNumber();
103:
104: this .purapDocumentIdentifier = document
105: .getPurapDocumentIdentifier();
106: this .vendorHeaderGeneratedIdentifier = document
107: .getVendorHeaderGeneratedIdentifier();
108: this .vendorDetailAssignedIdentifier = document
109: .getVendorDetailAssignedIdentifier();
110: this .vendorName = document.getVendorName();
111: this .vendorNumber = document.getVendorNumber();
112: this .vendorCustomerNumber = document.getVendorCustomerNumber();
113: this .accountsPayableApprovalDate = document
114: .getAccountsPayableApprovalDate();
115: this .accountsForRouting = document.getAccountsForRouting();
116: this .statusCode = document.getStatusCode();
117:
118: this .purchaseOrderIdentifier = document
119: .getPurchaseOrderIdentifier();
120: this .chartOfAccountsCode = document.getChartOfAccountsCode();
121: this .organizationCode = document.getOrganizationCode();
122: this .processingCampusCode = document.getProcessingCampusCode();
123: this .extractedDate = document.getExtractedDate();
124: this .holdIndicator = document.isHoldIndicator();
125:
126: this .paymentRequestIdentifier = document
127: .getPaymentRequestIdentifier();
128: this .creditMemoNumber = document.getCreditMemoNumber();
129: this .creditMemoDate = document.getCreditMemoDate();
130: this .creditMemoAmount = document.getCreditMemoAmount();
131: this .creditMemoPaidTimestamp = document
132: .getCreditMemoPaidTimestamp();
133:
134: this .status = new DummyStatus(document.getStatus()
135: .getStatusDescription());
136: }
137:
138: public List<SourceAccountingLine> getAccountsForRouting() {
139: return accountsForRouting;
140: }
141:
142: public void setAccountsForRouting(
143: List<SourceAccountingLine> accountsForRouting) {
144: this .accountsForRouting = accountsForRouting;
145: }
146:
147: public Date getAccountsPayableApprovalDate() {
148: return accountsPayableApprovalDate;
149: }
150:
151: public void setAccountsPayableApprovalDate(
152: Date accountsPayableApprovalDate) {
153: this .accountsPayableApprovalDate = accountsPayableApprovalDate;
154: }
155:
156: public String getChartOfAccountsCode() {
157: return chartOfAccountsCode;
158: }
159:
160: public void setChartOfAccountsCode(String chartOfAccountsCode) {
161: this .chartOfAccountsCode = chartOfAccountsCode;
162: }
163:
164: public KualiDecimal getCreditMemoAmount() {
165: return creditMemoAmount;
166: }
167:
168: public void setCreditMemoAmount(KualiDecimal creditMemoAmount) {
169: this .creditMemoAmount = creditMemoAmount;
170: }
171:
172: public Date getCreditMemoDate() {
173: return creditMemoDate;
174: }
175:
176: public void setCreditMemoDate(Date creditMemoDate) {
177: this .creditMemoDate = creditMemoDate;
178: }
179:
180: public String getCreditMemoNumber() {
181: return creditMemoNumber;
182: }
183:
184: public void setCreditMemoNumber(String creditMemoNumber) {
185: this .creditMemoNumber = creditMemoNumber;
186: }
187:
188: public Timestamp getCreditMemoPaidTimestamp() {
189: return creditMemoPaidTimestamp;
190: }
191:
192: public void setCreditMemoPaidTimestamp(
193: Timestamp creditMemoPaidTimestamp) {
194: this .creditMemoPaidTimestamp = creditMemoPaidTimestamp;
195: }
196:
197: public Date getExtractedDate() {
198: return extractedDate;
199: }
200:
201: public void setExtractedDate(Date extractedDate) {
202: this .extractedDate = extractedDate;
203: }
204:
205: public boolean isHoldIndicator() {
206: return holdIndicator;
207: }
208:
209: public void setHoldIndicator(boolean holdIndicator) {
210: this .holdIndicator = holdIndicator;
211: }
212:
213: public String getOrganizationCode() {
214: return organizationCode;
215: }
216:
217: public void setOrganizationCode(String organizationCode) {
218: this .organizationCode = organizationCode;
219: }
220:
221: public Integer getPaymentRequestIdentifier() {
222: return paymentRequestIdentifier;
223: }
224:
225: public void setPaymentRequestIdentifier(
226: Integer paymentRequestIdentifier) {
227: this .paymentRequestIdentifier = paymentRequestIdentifier;
228: }
229:
230: public String getProcessingCampusCode() {
231: return processingCampusCode;
232: }
233:
234: public void setProcessingCampusCode(String processingCampusCode) {
235: this .processingCampusCode = processingCampusCode;
236: }
237:
238: public Integer getPurapDocumentIdentifier() {
239: return purapDocumentIdentifier;
240: }
241:
242: public void setPurapDocumentIdentifier(
243: Integer purapDocumentIdentifier) {
244: this .purapDocumentIdentifier = purapDocumentIdentifier;
245: }
246:
247: public Integer getPurchaseOrderIdentifier() {
248: return purchaseOrderIdentifier;
249: }
250:
251: public void setPurchaseOrderIdentifier(
252: Integer purchaseOrderIdentifier) {
253: this .purchaseOrderIdentifier = purchaseOrderIdentifier;
254: }
255:
256: public DummyStatus getStatus() {
257: return status;
258: }
259:
260: public void setStatus(DummyStatus status) {
261: this .status = status;
262: }
263:
264: public String getStatusCode() {
265: return statusCode;
266: }
267:
268: public void setStatusCode(String statusCode) {
269: this .statusCode = statusCode;
270: }
271:
272: public String getVendorCustomerNumber() {
273: return vendorCustomerNumber;
274: }
275:
276: public void setVendorCustomerNumber(String vendorCustomerNumber) {
277: this .vendorCustomerNumber = vendorCustomerNumber;
278: }
279:
280: public Integer getVendorDetailAssignedIdentifier() {
281: return vendorDetailAssignedIdentifier;
282: }
283:
284: public void setVendorDetailAssignedIdentifier(
285: Integer vendorDetailAssignedIdentifier) {
286: this .vendorDetailAssignedIdentifier = vendorDetailAssignedIdentifier;
287: }
288:
289: public Integer getVendorHeaderGeneratedIdentifier() {
290: return vendorHeaderGeneratedIdentifier;
291: }
292:
293: public void setVendorHeaderGeneratedIdentifier(
294: Integer vendorHeaderGeneratedIdentifier) {
295: this .vendorHeaderGeneratedIdentifier = vendorHeaderGeneratedIdentifier;
296: }
297:
298: public String getVendorName() {
299: return vendorName;
300: }
301:
302: public void setVendorName(String vendorName) {
303: this .vendorName = vendorName;
304: }
305:
306: public String getVendorNumber() {
307: return vendorNumber;
308: }
309:
310: public void setVendorNumber(String vendorNumber) {
311: this.vendorNumber = vendorNumber;
312: }
313:
314: }
|