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.fixtures;
017:
018: import java.sql.Date;
019:
020: import org.kuali.core.util.KualiDecimal;
021: import org.kuali.module.purap.PurapConstants.POCostSources;
022: import org.kuali.module.purap.PurapConstants.POTransmissionMethods;
023: import org.kuali.module.purap.PurapConstants.RequisitionSources;
024: import org.kuali.module.purap.document.PurchaseOrderDocument;
025: import org.kuali.module.purap.document.PurchasingDocument;
026: import org.kuali.module.purap.document.RequisitionDocument;
027:
028: public enum PurchasingDocumentFixture {
029:
030: // REQUISITION FIXTURES
031: REQ_ONLY_REQUIRED_FIELDS("INST", // fundingSourceCode
032: RequisitionSources.STANDARD_ORDER, // requisitionSourceCode
033: POTransmissionMethods.NOPRINT, // purchaseOrderTransmissionMethodCode
034: POCostSources.ESTIMATE, // purchaseOrderCostSourceCode
035: null, // deliveryRequiredDateReasonCode
036: null, // recurringPaymentTypeCode
037: "UA", // chartOfAccountsCode
038: "PUR", // organizationCode
039: "BL", // deliveryCampusCode
040: null, // purchaseOrderTotalLimit
041: null, // vendorRestrictedIndicator
042: null, // vendorPhoneNumber
043: null, // vendorFaxNumber
044: null, // vendorContractGeneratedIdentifier
045: null, // vendorNoteText
046: "RENFROW,ROBERTA G", // requestorPersonName
047: "knoreceipt-l@indiana.edu", // requestorPersonEmailAddress
048: "555-555-5555", // requestorPersonPhoneNumber
049: null, // nonInstitutionFundOrgChartOfAccountsCode
050: null, // nonInstitutionFundOrganizationCode
051: null, // nonInstitutionFundChartOfAccountsCode
052: null, // nonInstitutionFundAccountNumber
053: "ADMN", // deliveryBuildingCode
054: "Administration", // deliveryBuildingName
055: "123", // deliveryBuildingRoomNumber
056: "1 big dog", // deliveryBuildingLine1Address
057: null, // deliveryBuildingLine2Address
058: "campus", // deliveryCityName
059: "AK", // deliveryStateCode
060: "46202-5260", // deliveryPostalCode
061: null, // deliveryCountryCode
062: "me", // deliveryToName
063: null, // deliveryToEmailAddress
064: null, // deliveryToPhoneNumber
065: null, // deliveryRequiredDate
066: null, // deliveryInstructionText
067: null, // purchaseOrderBeginDate
068: null, // purchaseOrderEndDate
069: null, // institutionContactName
070: null, // institutionContactPhoneNumber
071: null, // institutionContactEmailAddress
072: "THE UNIVERSITY", // billingName
073: "ACCOUNTS PAYABLE", // billingLine1Address
074: null, // billingLine2Address
075: "BUTTER NUT", // billingCityName
076: "SC", // billingStateCode
077: "47402", // billingPostalCode
078: "US", // billingCountryCode
079: "111-111-1111", // billingPhoneNumber
080: null, // externalOrganizationB2bSupplierIdentifier
081: null, // contractManagerCode
082: false, // purchaseOrderAutomaticIndicator
083: null, // vendorPaymentTermsCode
084: null, // vendorShippingTitleCode
085: null), // vendorShippingPaymentTermsCode
086:
087: REQ_MULTI("INST", // fundingSourceCode
088: RequisitionSources.STANDARD_ORDER, // requisitionSourceCode
089: POTransmissionMethods.NOPRINT, // purchaseOrderTransmissionMethodCode
090: POCostSources.ESTIMATE, // purchaseOrderCostSourceCode
091: null, // deliveryRequiredDateReasonCode
092: null, // recurringPaymentTypeCode
093: "KO", // chartOfAccountsCode
094: "SBSC", // organizationCode
095: "KO", // deliveryCampusCode
096: null, // purchaseOrderTotalLimit
097: null, // vendorRestrictedIndicator
098: null, // vendorPhoneNumber
099: null, // vendorFaxNumber
100: null, // vendorContractGeneratedIdentifier
101: null, // vendorNoteText
102: "WATSON,TERRENCE G", // requestorPersonName
103: "tw@kuali.org", // requestorPersonEmailAddress
104: "812-555-5555", // requestorPersonPhoneNumber
105: null, // nonInstitutionFundOrgChartOfAccountsCode
106: null, // nonInstitutionFundOrganizationCode
107: null, // nonInstitutionFundChartOfAccountsCode
108: null, // nonInstitutionFundAccountNumber
109: "ADMN", // deliveryBuildingCode
110: "Administration", // deliveryBuildingName
111: "100", // deliveryBuildingRoomNumber
112: "98 smart street", // deliveryBuildingLine1Address
113: null, // deliveryBuildingLine2Address
114: "brainy", // deliveryCityName
115: "CA", // deliveryStateCode
116: "46202", // deliveryPostalCode
117: null, // deliveryCountryCode
118: "front desk", // deliveryToName
119: null, // deliveryToEmailAddress
120: null, // deliveryToPhoneNumber
121: null, // deliveryRequiredDate
122: null, // deliveryInstructionText
123: null, // purchaseOrderBeginDate
124: null, // purchaseOrderEndDate
125: null, // institutionContactName
126: null, // institutionContactPhoneNumber
127: null, // institutionContactEmailAddress
128: "THE UNIVERSITY", // billingName
129: "ACCOUNTS PAYABLE", // billingLine1Address
130: null, // billingLine2Address
131: "BUTTER NUT", // billingCityName
132: "SC", // billingStateCode
133: "47402", // billingPostalCode
134: "US", // billingCountryCode
135: "111-111-1111", // billingPhoneNumber
136: null, // externalOrganizationB2bSupplierIdentifier
137: null, // contractManagerCode
138: false, // purchaseOrderAutomaticIndicator
139: null, // vendorPaymentTermsCode
140: null, // vendorShippingTitleCode
141: null), // vendorShippingPaymentTermsCode
142:
143: // PURCHASE ORDER FIXTURES
144: PO_ONLY_REQUIRED_FIELDS("INST", RequisitionSources.STANDARD_ORDER,
145: POTransmissionMethods.NOPRINT, POCostSources.ESTIMATE,
146: null, null, "UA", "PUR", "BL", null, null, null, null,
147: null, null, "RENFROW,ROBERTA G",
148: "knoreceipt-l@indiana.edu", "555-555-5555", null, null,
149: null, null, "ADMN", "Administration", "123", "1 big dog",
150: null, "campus", "AK", "46202-5260", "US", "me", null, null,
151: null, null, null, null, null, null, null, "THE UNIVERSITY",
152: "ACCOUNTS PAYABLE", null, "BUTTER NUT", "SC", "47402",
153: "US", "111-111-1111", null, 10, false, null, null, null), ;
154:
155: public final String fundingSourceCode;
156: public final String requisitionSourceCode;
157: public final String purchaseOrderTransmissionMethodCode;
158: public final String purchaseOrderCostSourceCode;
159: public final String deliveryRequiredDateReasonCode;
160: public final String recurringPaymentTypeCode;
161: public final String chartOfAccountsCode;
162: public final String organizationCode;
163: public final String deliveryCampusCode;
164: public final KualiDecimal purchaseOrderTotalLimit;
165: public final Boolean vendorRestrictedIndicator;
166: public final String vendorPhoneNumber;
167: public final String vendorFaxNumber;
168: public final Integer vendorContractGeneratedIdentifier;
169: public final String vendorNoteText;
170: public final String requestorPersonName;
171: public final String requestorPersonEmailAddress;
172: public final String requestorPersonPhoneNumber;
173: public final String nonInstitutionFundOrgChartOfAccountsCode;
174: public final String nonInstitutionFundOrganizationCode;
175: public final String nonInstitutionFundChartOfAccountsCode;
176: public final String nonInstitutionFundAccountNumber;
177: public final String deliveryBuildingCode;
178: public final String deliveryBuildingName;
179: public final String deliveryBuildingRoomNumber;
180: public final String deliveryBuildingLine1Address;
181: public final String deliveryBuildingLine2Address;
182: public final String deliveryCityName;
183: public final String deliveryStateCode;
184: public final String deliveryPostalCode;
185: public final String deliveryCountryCode;
186: public final String deliveryToName;
187: public final String deliveryToEmailAddress;
188: public final String deliveryToPhoneNumber;
189: public final Date deliveryRequiredDate;
190: public final String deliveryInstructionText;
191: public final Date purchaseOrderBeginDate;
192: public final Date purchaseOrderEndDate;
193: public final String institutionContactName;
194: public final String institutionContactPhoneNumber;
195: public final String institutionContactEmailAddress;
196: public final String billingName;
197: public final String billingLine1Address;
198: public final String billingLine2Address;
199: public final String billingCityName;
200: public final String billingStateCode;
201: public final String billingPostalCode;
202: public final String billingCountryCode;
203: public final String billingPhoneNumber;
204: public final String externalOrganizationB2bSupplierIdentifier;
205: public final Integer contractManagerCode;
206: public final boolean purchaseOrderAutomaticIndicator;
207: public final String vendorPaymentTermsCode;
208: public final String vendorShippingTitleCode;
209: public final String vendorShippingPaymentTermsCode;
210:
211: private PurchasingDocumentFixture(String fundingSourceCode,
212: String requisitionSourceCode,
213: String purchaseOrderTransmissionMethodCode,
214: String purchaseOrderCostSourceCode,
215: String deliveryRequiredDateReasonCode,
216: String recurringPaymentTypeCode,
217: String chartOfAccountsCode, String organizationCode,
218: String deliveryCampusCode,
219: KualiDecimal purchaseOrderTotalLimit,
220: Boolean vendorRestrictedIndicator,
221: String vendorPhoneNumber, String vendorFaxNumber,
222: Integer vendorContractGeneratedIdentifier,
223: String vendorNoteText, String requestorPersonName,
224: String requestorPersonEmailAddress,
225: String requestorPersonPhoneNumber,
226: String nonInstitutionFundOrgChartOfAccountsCode,
227: String nonInstitutionFundOrganizationCode,
228: String nonInstitutionFundChartOfAccountsCode,
229: String nonInstitutionFundAccountNumber,
230: String deliveryBuildingCode, String deliveryBuildingName,
231: String deliveryBuildingRoomNumber,
232: String deliveryBuildingLine1Address,
233: String deliveryBuildingLine2Address,
234: String deliveryCityName, String deliveryStateCode,
235: String deliveryPostalCode, String deliveryCountryCode,
236: String deliveryToName, String deliveryToEmailAddress,
237: String deliveryToPhoneNumber, Date deliveryRequiredDate,
238: String deliveryInstructionText,
239: Date purchaseOrderBeginDate, Date purchaseOrderEndDate,
240: String institutionContactName,
241: String institutionContactPhoneNumber,
242: String institutionContactEmailAddress, String billingName,
243: String billingLine1Address, String billingLine2Address,
244: String billingCityName, String billingStateCode,
245: String billingPostalCode, String billingCountryCode,
246: String billingPhoneNumber,
247: String externalOrganizationB2bSupplierIdentifier,
248: Integer contractManagerCode,
249: boolean purchaseOrderAutomaticIndicator,
250: String vendorPaymentTermsCode,
251: String vendorShippingTitleCode,
252: String vendorShippingPaymentTermsCode) {
253: this .fundingSourceCode = fundingSourceCode;
254: this .requisitionSourceCode = requisitionSourceCode;
255: this .purchaseOrderTransmissionMethodCode = purchaseOrderTransmissionMethodCode;
256: this .purchaseOrderCostSourceCode = purchaseOrderCostSourceCode;
257: this .deliveryRequiredDateReasonCode = deliveryRequiredDateReasonCode;
258: this .recurringPaymentTypeCode = recurringPaymentTypeCode;
259: this .chartOfAccountsCode = chartOfAccountsCode;
260: this .organizationCode = organizationCode;
261: this .deliveryCampusCode = deliveryCampusCode;
262: this .purchaseOrderTotalLimit = purchaseOrderTotalLimit;
263: this .vendorRestrictedIndicator = vendorRestrictedIndicator;
264: this .vendorPhoneNumber = vendorPhoneNumber;
265: this .vendorFaxNumber = vendorFaxNumber;
266: this .vendorContractGeneratedIdentifier = vendorContractGeneratedIdentifier;
267: this .vendorNoteText = vendorNoteText;
268: this .requestorPersonName = requestorPersonName;
269: this .requestorPersonEmailAddress = requestorPersonEmailAddress;
270: this .requestorPersonPhoneNumber = requestorPersonPhoneNumber;
271: this .nonInstitutionFundOrgChartOfAccountsCode = nonInstitutionFundOrgChartOfAccountsCode;
272: this .nonInstitutionFundOrganizationCode = nonInstitutionFundOrganizationCode;
273: this .nonInstitutionFundChartOfAccountsCode = nonInstitutionFundChartOfAccountsCode;
274: this .nonInstitutionFundAccountNumber = nonInstitutionFundAccountNumber;
275: this .deliveryBuildingCode = deliveryBuildingCode;
276: this .deliveryBuildingName = deliveryBuildingName;
277: this .deliveryBuildingRoomNumber = deliveryBuildingRoomNumber;
278: this .deliveryBuildingLine1Address = deliveryBuildingLine1Address;
279: this .deliveryBuildingLine2Address = deliveryBuildingLine2Address;
280: this .deliveryCityName = deliveryCityName;
281: this .deliveryStateCode = deliveryStateCode;
282: this .deliveryPostalCode = deliveryPostalCode;
283: this .deliveryCountryCode = deliveryCountryCode;
284: this .deliveryToName = deliveryToName;
285: this .deliveryToEmailAddress = deliveryToEmailAddress;
286: this .deliveryToPhoneNumber = deliveryToPhoneNumber;
287: this .deliveryRequiredDate = deliveryRequiredDate;
288: this .deliveryInstructionText = deliveryInstructionText;
289: this .purchaseOrderBeginDate = purchaseOrderBeginDate;
290: this .purchaseOrderEndDate = purchaseOrderEndDate;
291: this .institutionContactName = institutionContactName;
292: this .institutionContactPhoneNumber = institutionContactPhoneNumber;
293: this .institutionContactEmailAddress = institutionContactEmailAddress;
294: this .billingName = billingName;
295: this .billingLine1Address = billingLine1Address;
296: this .billingLine2Address = billingLine2Address;
297: this .billingCityName = billingCityName;
298: this .billingStateCode = billingStateCode;
299: this .billingPostalCode = billingPostalCode;
300: this .billingCountryCode = billingCountryCode;
301: this .billingPhoneNumber = billingPhoneNumber;
302: this .externalOrganizationB2bSupplierIdentifier = externalOrganizationB2bSupplierIdentifier;
303: this .contractManagerCode = contractManagerCode;
304: this .purchaseOrderAutomaticIndicator = purchaseOrderAutomaticIndicator;
305: this .vendorPaymentTermsCode = vendorPaymentTermsCode;
306: this .vendorShippingTitleCode = vendorShippingTitleCode;
307: this .vendorShippingPaymentTermsCode = vendorShippingPaymentTermsCode;
308: }
309:
310: public RequisitionDocument createRequisitionDocument(
311: PurchasingAccountsPayableDocumentFixture purapFixture) {
312: return (RequisitionDocument) createPurchasingDocument(
313: RequisitionDocument.class, purapFixture);
314: }
315:
316: public PurchaseOrderDocument createPurchaseOrderDocument(
317: PurchasingAccountsPayableDocumentFixture purapFixture) {
318: return (PurchaseOrderDocument) createPurchasingDocument(
319: PurchaseOrderDocument.class, purapFixture);
320: }
321:
322: private PurchasingDocument createPurchasingDocument(Class clazz,
323: PurchasingAccountsPayableDocumentFixture purapFixture) {
324: PurchasingDocument doc = (PurchasingDocument) purapFixture
325: .createPurchasingAccountsPayableDocument(clazz);
326: doc.setFundingSourceCode(this .fundingSourceCode);
327: doc.setRequisitionSourceCode(this .requisitionSourceCode);
328: doc
329: .setPurchaseOrderTransmissionMethodCode(this .purchaseOrderTransmissionMethodCode);
330: doc
331: .setPurchaseOrderCostSourceCode(this .purchaseOrderCostSourceCode);
332: doc
333: .setDeliveryRequiredDateReasonCode(this .deliveryRequiredDateReasonCode);
334: doc.setRecurringPaymentTypeCode(this .recurringPaymentTypeCode);
335: doc.setChartOfAccountsCode(this .chartOfAccountsCode);
336: doc.setOrganizationCode(this .organizationCode);
337: doc.setDeliveryCampusCode(this .deliveryCampusCode);
338: doc.setPurchaseOrderTotalLimit(this .purchaseOrderTotalLimit);
339: doc
340: .setVendorRestrictedIndicator(this .vendorRestrictedIndicator);
341: doc.setVendorPhoneNumber(this .vendorPhoneNumber);
342: doc.setVendorFaxNumber(this .vendorFaxNumber);
343: doc
344: .setVendorContractGeneratedIdentifier(this .vendorContractGeneratedIdentifier);
345: doc.setVendorNoteText(this .vendorNoteText);
346: doc.setRequestorPersonName(this .requestorPersonName);
347: doc
348: .setRequestorPersonEmailAddress(this .requestorPersonEmailAddress);
349: doc
350: .setRequestorPersonPhoneNumber(this .requestorPersonPhoneNumber);
351: doc
352: .setNonInstitutionFundOrgChartOfAccountsCode(this .nonInstitutionFundOrgChartOfAccountsCode);
353: doc
354: .setNonInstitutionFundOrganizationCode(this .nonInstitutionFundOrganizationCode);
355: doc
356: .setNonInstitutionFundChartOfAccountsCode(this .nonInstitutionFundChartOfAccountsCode);
357: doc
358: .setNonInstitutionFundAccountNumber(this .nonInstitutionFundAccountNumber);
359: doc.setDeliveryBuildingCode(this .deliveryBuildingCode);
360: doc.setDeliveryBuildingName(this .deliveryBuildingName);
361: doc
362: .setDeliveryBuildingRoomNumber(this .deliveryBuildingRoomNumber);
363: doc
364: .setDeliveryBuildingLine1Address(this .deliveryBuildingLine1Address);
365: doc
366: .setDeliveryBuildingLine2Address(this .deliveryBuildingLine2Address);
367: doc.setDeliveryCityName(this .deliveryCityName);
368: doc.setDeliveryStateCode(this .deliveryStateCode);
369: doc.setDeliveryPostalCode(this .deliveryPostalCode);
370: doc.setDeliveryCountryCode(this .deliveryCountryCode);
371: doc.setDeliveryToName(this .deliveryToName);
372: doc.setDeliveryToEmailAddress(this .deliveryToEmailAddress);
373: doc.setDeliveryToPhoneNumber(this .deliveryToPhoneNumber);
374: doc.setDeliveryRequiredDate(this .deliveryRequiredDate);
375: doc.setDeliveryInstructionText(this .deliveryInstructionText);
376: doc.setPurchaseOrderBeginDate(this .purchaseOrderBeginDate);
377: doc.setPurchaseOrderEndDate(this .purchaseOrderEndDate);
378: doc.setInstitutionContactName(this .institutionContactName);
379: doc
380: .setInstitutionContactPhoneNumber(this .institutionContactPhoneNumber);
381: doc
382: .setInstitutionContactEmailAddress(this .institutionContactEmailAddress);
383: doc.setBillingName(this .billingName);
384: doc.setBillingLine1Address(this .billingLine1Address);
385: doc.setBillingLine2Address(this .billingLine2Address);
386: doc.setBillingCityName(this .billingCityName);
387: doc.setBillingStateCode(this .billingStateCode);
388: doc.setBillingPostalCode(this .billingPostalCode);
389: doc.setBillingCountryCode(this .billingCountryCode);
390: doc.setBillingPhoneNumber(this .billingPhoneNumber);
391: doc
392: .setExternalOrganizationB2bSupplierIdentifier(this .externalOrganizationB2bSupplierIdentifier);
393: // Req doesn't have contract manager anymore, only PO still has contract manager.
394: if (doc instanceof PurchaseOrderDocument) {
395: ((PurchaseOrderDocument) doc)
396: .setContractManagerCode(this.contractManagerCode);
397: }
398: doc
399: .setPurchaseOrderAutomaticIndicator(this.purchaseOrderAutomaticIndicator);
400: doc.setVendorPaymentTermsCode(this.vendorPaymentTermsCode);
401: doc.setVendorShippingTitleCode(this.vendorShippingTitleCode);
402: doc
403: .setVendorShippingPaymentTermsCode(this.vendorShippingPaymentTermsCode);
404: return doc;
405: }
406:
407: }
|