1 /*
2 * The Kuali Financial System, a comprehensive financial management system for higher education.
3 *
4 * Copyright 2005-2014 The Kuali Foundation
5 *
6 * This program is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU Affero General Public License as
8 * published by the Free Software Foundation, either version 3 of the
9 * License, or (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU Affero General Public License for more details.
15 *
16 * You should have received a copy of the GNU Affero General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 */
19 package org.kuali.kfs.module.purap.fixture;
20
21 import java.sql.Date;
22 import java.sql.Timestamp;
23
24 import org.kuali.kfs.module.purap.PurapConstants;
25 import org.kuali.kfs.module.purap.document.PurchaseOrderDocument;
26 import org.kuali.kfs.module.purap.exception.PurapConfigurationException;
27 import org.kuali.kfs.module.purap.fixture.PurapTestConstants.PO;
28 import org.kuali.kfs.sys.context.SpringContext;
29 import org.kuali.kfs.vnd.businessobject.VendorDetail;
30 import org.kuali.kfs.vnd.document.service.VendorService;
31 import org.kuali.rice.core.api.util.type.KualiDecimal;
32
33 /**
34 * Fixture class for Purchase Order Document.
35 */
36 public enum PurchaseOrderDocumentFixture {
37
38 // TODO f2f: fix the REQ id
39
40 PO_ONLY_REQUIRED_FIELDS(
41 PO.CREATE_DATE, // purchaseOrderCreateDate
42 PO.REQ_ID, // requisitionIdentifier
43 "LPRC", // purchaseOrderVendorChoiceCode
44 null, // recurringPaymentFrequencyCode
45 null, // recurringPaymentAmount
46 null, // recurringPaymentDate
47 null, // initialPaymentAmount
48 null, // initialPaymentDate
49 null, // finalPaymentAmount
50 null, // finalPaymentDate
51 null, // purchaseOrderInitialOpenTimestamp
52 null, // purchaseOrderLastTransmitTimestamp
53 null, // purchaseOrderQuoteDueDate
54 null, // purchaseOrderQuoteTypeCode
55 null, // purchaseOrderQuoteVendorNoteText
56 false, // purchaseOrderConfirmedIndicator
57 null, // purchaseOrderCommodityDescription
58 null, // purchaseOrderPreviousIdentifier
59 null, // alternateVendorHeaderGeneratedIdentifier
60 null, // alternateVendorDetailAssignedIdentifier
61 null, // newQuoteVendorHeaderGeneratedIdentifier
62 null, // newQuoteVendorDetailAssignedIdentifier
63 null, // alternateVendorName
64 true, // purchaseOrderCurrentIndicator
65 false, // pendingActionIndicator
66 null, // purchaseOrderFirstTransmissionTimestamp
67 PurchasingAccountsPayableDocumentFixture.PO_ONLY_REQUIRED_FIELDS, // purapDocumentFixture
68 PurchasingDocumentFixture.PO_ONLY_REQUIRED_FIELDS, // purchasingDocumentFixture
69 new PurchaseOrderItemFixture[] { // purchaseOrderItemMultiFixtures
70 PurchaseOrderItemFixture.PO_QTY_UNRESTRICTED_ITEM_1 }
71 ),
72 PO_ONLY_REQUIRED_FIELDS_MULTI_ITEMS(
73 PO.CREATE_DATE, // purchaseOrderCreateDate
74 PO.REQ_ID, // requisitionIdentifier
75 "LPRC", // purchaseOrderVendorChoiceCode
76 null, // recurringPaymentFrequencyCode
77 null, // recurringPaymentAmount
78 null, // recurringPaymentDate
79 null, // initialPaymentAmount
80 null, // initialPaymentDate
81 null, // finalPaymentAmount
82 null, // finalPaymentDate
83 null, // purchaseOrderInitialOpenTimestamp
84 null, // purchaseOrderLastTransmitTimestamp
85 null, // purchaseOrderQuoteDueDate
86 null, // purchaseOrderQuoteTypeCode
87 null, // purchaseOrderQuoteVendorNoteText
88 false, // purchaseOrderConfirmedIndicator
89 null, // purchaseOrderCommodityDescription
90 null, // purchaseOrderPreviousIdentifier
91 null, // alternateVendorHeaderGeneratedIdentifier
92 null, // alternateVendorDetailAssignedIdentifier
93 null, // newQuoteVendorHeaderGeneratedIdentifier
94 null, // newQuoteVendorDetailAssignedIdentifier
95 null, // alternateVendorName
96 true, // purchaseOrderCurrentIndicator
97 false, // pendingActionIndicator
98 null, // purchaseOrderFirstTransmissionTimestamp
99 PurchasingAccountsPayableDocumentFixture.PO_ONLY_REQUIRED_FIELDS, // purapDocumentFixture
100 PurchasingDocumentFixture.PO_ONLY_REQUIRED_FIELDS, // purchasingDocumentFixture
101 new PurchaseOrderItemFixture[] { // purchaseOrderItemMultiFixtures
102 PurchaseOrderItemFixture.PO_QTY_UNRESTRICTED_ITEM_1,
103 PurchaseOrderItemFixture.PO_QTY_UNRESTRICTED_ITEM_2 }
104 ),
105 PO_WITH_VENDOR_CONTRACT(
106 PO.CREATE_DATE, // purchaseOrderCreateDate
107 PO.REQ_ID, // requisitionIdentifier
108 "LPRC", // purchaseOrderVendorChoiceCode
109 null, // recurringPaymentFrequencyCode
110 null, // recurringPaymentAmount
111 null, // recurringPaymentDate
112 null, // initialPaymentAmount
113 null, // initialPaymentDate
114 null, // finalPaymentAmount
115 null, // finalPaymentDate
116 null, // purchaseOrderInitialOpenTimestamp
117 null, // purchaseOrderLastTransmitTimestamp
118 null, // purchaseOrderQuoteDueDate
119 null, // purchaseOrderQuoteTypeCode
120 null, // purchaseOrderQuoteVendorNoteText
121 false, // purchaseOrderConfirmedIndicator
122 null, // purchaseOrderCommodityDescription
123 null, // purchaseOrderPreviousIdentifier
124 null, // alternateVendorHeaderGeneratedIdentifier
125 null, // alternateVendorDetailAssignedIdentifier
126 null, // newQuoteVendorHeaderGeneratedIdentifier
127 null, // newQuoteVendorDetailAssignedIdentifier
128 null, // alternateVendorName
129 true, // purchaseOrderCurrentIndicator
130 false, // pendingActionIndicator
131 null, // purchaseOrderFirstTransmissionTimestamp
132 PurchasingAccountsPayableDocumentFixture.PO_ONLY_REQUIRED_FIELDS, // purapDocumentFixture
133 PurchasingDocumentFixture.PO_WITH_VENDOR_CONTRACT, // purchasingDocumentFixture
134 new PurchaseOrderItemFixture[] { // purchaseOrderItemMultiFixtures
135 PurchaseOrderItemFixture.PO_QTY_UNRESTRICTED_ITEM_1}
136 ),
137 PO_APPROVAL_REQUIRED(PO.CREATE_DATE, // purchaseOrderCreateDate
138 PO.REQ_ID, // requisitionIdentifier
139 "LPRC", // purchaseOrderVendorChoiceCode
140 null, // recurringPaymentFrequencyCode
141 null, // recurringPaymentAmount
142 null, // recurringPaymentDate
143 null, // initialPaymentAmount
144 null, // initialPaymentDate
145 null, // finalPaymentAmount
146 null, // finalPaymentDate
147 null, // purchaseOrderInitialOpenTimestamp
148 null, // purchaseOrderLastTransmitTimestamp
149 null, // purchaseOrderQuoteDueDate
150 null, // purchaseOrderQuoteTypeCode
151 null, // purchaseOrderQuoteVendorNoteText
152 false, // purchaseOrderConfirmedIndicator
153 null, // purchaseOrderCommodityDescription
154 null, // purchaseOrderPreviousIdentifier
155 null, // alternateVendorHeaderGeneratedIdentifier
156 null, // alternateVendorDetailAssignedIdentifier
157 null, // newQuoteVendorHeaderGeneratedIdentifier
158 null, // newQuoteVendorDetailAssignedIdentifier
159 null, // alternateVendorName
160 true, // purchaseOrderCurrentIndicator
161 false, // pendingActionIndicator
162 null, // purchaseOrderFirstTransmissionTimestamp
163 PurchasingAccountsPayableDocumentFixture.PO_ONLY_REQUIRED_FIELDS, // purapDocumentFixture
164 PurchasingDocumentFixture.PO_ONLY_REQUIRED_FIELDS_2, // purchasingDocumentFixture
165 new PurchaseOrderItemFixture[] { PurchaseOrderItemFixture.PO_QTY_APO_ITEM_1 } // purchaseOrderItemMultiFixtures
166 ),
167 CLOSE_PO_WITH_PREQ(PO.CREATE_DATE, // purchaseOrderCreateDate
168 PO.REQ_ID, // requisitionIdentifier
169 "LPRC", // purchaseOrderVendorChoiceCode
170 null, // recurringPaymentFrequencyCode
171 null, // recurringPaymentAmount
172 null, // recurringPaymentDate
173 null, // initialPaymentAmount
174 null, // initialPaymentDate
175 null, // finalPaymentAmount
176 null, // finalPaymentDate
177 null, // purchaseOrderInitialOpenTimestamp
178 null, // purchaseOrderLastTransmitTimestamp
179 null, // purchaseOrderQuoteDueDate
180 null, // purchaseOrderQuoteTypeCode
181 null, // purchaseOrderQuoteVendorNoteText
182 false, // purchaseOrderConfirmedIndicator
183 null, // purchaseOrderCommodityDescription
184 null, // purchaseOrderPreviousIdentifier
185 null, // alternateVendorHeaderGeneratedIdentifier
186 null, // alternateVendorDetailAssignedIdentifier
187 null, // newQuoteVendorHeaderGeneratedIdentifier
188 null, // newQuoteVendorDetailAssignedIdentifier
189 null, // alternateVendorName
190 true, // purchaseOrderCurrentIndicator
191 false, // pendingActionIndicator
192 null, // purchaseOrderFirstTransmissionTimestamp
193 PurchasingAccountsPayableDocumentFixture.PO_ONLY_REQUIRED_FIELDS, // purapDocumentFixture
194 PurchasingDocumentFixture.PO_ONLY_REQUIRED_FIELDS_2, // purchasingDocumentFixture
195 new PurchaseOrderItemFixture[] { PurchaseOrderItemFixture.PO_QTY_APO_ITEM_1 } // purchaseOrderItemMultiFixtures
196 ),
197 REOPEN_PO_WITH_PREQ(PO.CREATE_DATE, // purchaseOrderCreateDate
198 PO.REQ_ID, // requisitionIdentifier
199 "LPRC", // purchaseOrderVendorChoiceCode
200 null, // recurringPaymentFrequencyCode
201 null, // recurringPaymentAmount
202 null, // recurringPaymentDate
203 null, // initialPaymentAmount
204 null, // initialPaymentDate
205 null, // finalPaymentAmount
206 null, // finalPaymentDate
207 null, // purchaseOrderInitialOpenTimestamp
208 null, // purchaseOrderLastTransmitTimestamp
209 null, // purchaseOrderQuoteDueDate
210 null, // purchaseOrderQuoteTypeCode
211 null, // purchaseOrderQuoteVendorNoteText
212 false, // purchaseOrderConfirmedIndicator
213 null, // purchaseOrderCommodityDescription
214 null, // purchaseOrderPreviousIdentifier
215 null, // alternateVendorHeaderGeneratedIdentifier
216 null, // alternateVendorDetailAssignedIdentifier
217 null, // newQuoteVendorHeaderGeneratedIdentifier
218 null, // newQuoteVendorDetailAssignedIdentifier
219 null, // alternateVendorName
220 true, // purchaseOrderCurrentIndicator
221 false, // pendingActionIndicator
222 null, // purchaseOrderFirstTransmissionTimestamp
223 PurchasingAccountsPayableDocumentFixture.PO_ONLY_REQUIRED_FIELDS, // purapDocumentFixture
224 PurchasingDocumentFixture.PO_ONLY_REQUIRED_FIELDS_2, // purchasingDocumentFixture
225 new PurchaseOrderItemFixture[] { PurchaseOrderItemFixture.PO_QTY_APO_ITEM_1 } // purchaseOrderItemMultiFixtures
226 ),
227 REQUEST_CANCEL_PREQ(PO.CREATE_DATE, // purchaseOrderCreateDate
228 PO.REQ_ID, // requisitionIdentifier
229 "LPRC", // purchaseOrderVendorChoiceCode
230 null, // recurringPaymentFrequencyCode
231 null, // recurringPaymentAmount
232 null, // recurringPaymentDate
233 null, // initialPaymentAmount
234 null, // initialPaymentDate
235 null, // finalPaymentAmount
236 null, // finalPaymentDate
237 null, // purchaseOrderInitialOpenTimestamp
238 null, // purchaseOrderLastTransmitTimestamp
239 null, // purchaseOrderQuoteDueDate
240 null, // purchaseOrderQuoteTypeCode
241 null, // purchaseOrderQuoteVendorNoteText
242 false, // purchaseOrderConfirmedIndicator
243 null, // purchaseOrderCommodityDescription
244 null, // purchaseOrderPreviousIdentifier
245 null, // alternateVendorHeaderGeneratedIdentifier
246 null, // alternateVendorDetailAssignedIdentifier
247 null, // newQuoteVendorHeaderGeneratedIdentifier
248 null, // newQuoteVendorDetailAssignedIdentifier
249 null, // alternateVendorName
250 true, // purchaseOrderCurrentIndicator
251 false, // pendingActionIndicator
252 null, // purchaseOrderFirstTransmissionTimestamp
253 PurchasingAccountsPayableDocumentFixture.PO_ONLY_REQUIRED_FIELDS, // purapDocumentFixture
254 PurchasingDocumentFixture.PO_ONLY_REQUIRED_FIELDS_2, // purchasingDocumentFixture
255 new PurchaseOrderItemFixture[] { PurchaseOrderItemFixture.PO_QTY_APO_ITEM_1 } // purchaseOrderItemMultiFixtures
256 ),
257 REQUEST_HOLD_PREQ(PO.CREATE_DATE, // purchaseOrderCreateDate
258 PO.REQ_ID, // requisitionIdentifier
259 "LPRC", // purchaseOrderVendorChoiceCode
260 null, // recurringPaymentFrequencyCode
261 null, // recurringPaymentAmount
262 null, // recurringPaymentDate
263 null, // initialPaymentAmount
264 null, // initialPaymentDate
265 null, // finalPaymentAmount
266 null, // finalPaymentDate
267 null, // purchaseOrderInitialOpenTimestamp
268 null, // purchaseOrderLastTransmitTimestamp
269 null, // purchaseOrderQuoteDueDate
270 null, // purchaseOrderQuoteTypeCode
271 null, // purchaseOrderQuoteVendorNoteText
272 false, // purchaseOrderConfirmedIndicator
273 null, // purchaseOrderCommodityDescription
274 null, // purchaseOrderPreviousIdentifier
275 null, // alternateVendorHeaderGeneratedIdentifier
276 null, // alternateVendorDetailAssignedIdentifier
277 null, // newQuoteVendorHeaderGeneratedIdentifier
278 null, // newQuoteVendorDetailAssignedIdentifier
279 null, // alternateVendorName
280 true, // purchaseOrderCurrentIndicator
281 false, // pendingActionIndicator
282 null, // purchaseOrderFirstTransmissionTimestamp
283 PurchasingAccountsPayableDocumentFixture.PO_ONLY_REQUIRED_FIELDS, // purapDocumentFixture
284 PurchasingDocumentFixture.PO_ONLY_REQUIRED_FIELDS_2, // purchasingDocumentFixture
285 new PurchaseOrderItemFixture[] { PurchaseOrderItemFixture.PO_QTY_APO_ITEM_1 } // purchaseOrderItemMultiFixtures
286 ),
287 PO_FOR_THRESHOLD_CHECK(
288 PO.CREATE_DATE, // purchaseOrderCreateDate
289 PO.REQ_ID, // requisitionIdentifier
290 "LPRC", // purchaseOrderVendorChoiceCode
291 null, // recurringPaymentFrequencyCode
292 null, // recurringPaymentAmount
293 null, // recurringPaymentDate
294 null, // initialPaymentAmount
295 null, // initialPaymentDate
296 null, // finalPaymentAmount
297 null, // finalPaymentDate
298 null, // purchaseOrderInitialOpenTimestamp
299 null, // purchaseOrderLastTransmitTimestamp
300 null, // purchaseOrderQuoteDueDate
301 null, // purchaseOrderQuoteTypeCode
302 null, // purchaseOrderQuoteVendorNoteText
303 false, // purchaseOrderConfirmedIndicator
304 null, // purchaseOrderCommodityDescription
305 null, // purchaseOrderPreviousIdentifier
306 null, // alternateVendorHeaderGeneratedIdentifier
307 null, // alternateVendorDetailAssignedIdentifier
308 null, // newQuoteVendorHeaderGeneratedIdentifier
309 null, // newQuoteVendorDetailAssignedIdentifier
310 null, // alternateVendorName
311 true, // purchaseOrderCurrentIndicator
312 false, // pendingActionIndicator
313 null, // purchaseOrderFirstTransmissionTimestamp
314 PurchasingAccountsPayableDocumentFixture.PO_ONLY_REQUIRED_FIELDS, // purapDocumentFixture
315 PurchasingDocumentFixture.PO_ONLY_REQUIRED_FIELDS, // purchasingDocumentFixture
316 new PurchaseOrderItemFixture[] { // purchaseOrderItemMultiFixtures
317 PurchaseOrderItemFixture.PO_ITEM_THRESHOLD_CHECK }
318 ),
319 EINVOICE_PO(
320 PO.CREATE_DATE, // purchaseOrderCreateDate
321 PO.REQ_ID, // requisitionIdentifier
322 "LPRC", // purchaseOrderVendorChoiceCode
323 null, // recurringPaymentFrequencyCode
324 null, // recurringPaymentAmount
325 null, // recurringPaymentDate
326 null, // initialPaymentAmount
327 null, // initialPaymentDate
328 null, // finalPaymentAmount
329 null, // finalPaymentDate
330 null, // purchaseOrderInitialOpenDate
331 null, // purchaseOrderLastTransmitDate
332 null, // purchaseOrderQuoteDueDate
333 null, // purchaseOrderQuoteTypeCode
334 null, // purchaseOrderQuoteVendorNoteText
335 false, // purchaseOrderConfirmedIndicator
336 null, // purchaseOrderCommodityDescription
337 null, // purchaseOrderPreviousIdentifier
338 null, // alternateVendorHeaderGeneratedIdentifier
339 null, // alternateVendorDetailAssignedIdentifier
340 null, // newQuoteVendorHeaderGeneratedIdentifier
341 null, // newQuoteVendorDetailAssignedIdentifier
342 null, // alternateVendorName
343 true, // purchaseOrderCurrentIndicator
344 false, // pendingActionIndicator
345 null, // purchaseOrderFirstTransmissionDate
346 PurchasingAccountsPayableDocumentFixture.EINVOICE_PO, // purapDocumentFixture
347 PurchasingDocumentFixture.PO_ONLY_REQUIRED_FIELDS, // purchasingDocumentFixture
348 new PurchaseOrderItemFixture[] { // purchaseOrderItemMultiFixtures
349 PurchaseOrderItemFixture.EINVOICE_PO_ITEM }
350 ),
351 ;
352
353 public final Timestamp purchaseOrderCreateDate;
354 public final Integer requisitionIdentifier;
355 public final String purchaseOrderVendorChoiceCode;
356 public final String recurringPaymentFrequencyCode;
357 public final KualiDecimal recurringPaymentAmount;
358 public final Date recurringPaymentDate;
359 public final KualiDecimal initialPaymentAmount;
360 public final Date initialPaymentDate;
361 public final KualiDecimal finalPaymentAmount;
362 public final Date finalPaymentDate;
363 public final Timestamp purchaseOrderInitialOpenTimestamp;
364 public final Timestamp purchaseOrderLastTransmitTimestamp;
365 public final Date purchaseOrderQuoteDueDate;
366 public final String purchaseOrderQuoteTypeCode;
367 public final String purchaseOrderQuoteVendorNoteText;
368 public final boolean purchaseOrderConfirmedIndicator;
369 public final String purchaseOrderCommodityDescription;
370 public final Integer purchaseOrderPreviousIdentifier;
371 public final Integer alternateVendorHeaderGeneratedIdentifier;
372 public final Integer alternateVendorDetailAssignedIdentifier;
373 public final Integer newQuoteVendorHeaderGeneratedIdentifier;
374 public final Integer newQuoteVendorDetailAssignedIdentifier;
375 public final String alternateVendorName;
376 public final boolean purchaseOrderCurrentIndicator;
377 public final boolean pendingActionIndicator;
378 public final Timestamp purchaseOrderFirstTransmissionTimestamp;
379 private PurchasingAccountsPayableDocumentFixture purapDocumentFixture;
380 private PurchasingDocumentFixture purchasingDocumentFixture;
381 private PurchaseOrderItemFixture[] purchaseOrderItemFixtures;
382
383 /**
384 * Private Constructor.
385 */
386 private PurchaseOrderDocumentFixture(Timestamp purchaseOrderCreateDate, Integer requisitionIdentifier, String purchaseOrderVendorChoiceCode, String recurringPaymentFrequencyCode, KualiDecimal recurringPaymentAmount, Date recurringPaymentDate, KualiDecimal initialPaymentAmount, Date initialPaymentDate, KualiDecimal finalPaymentAmount, Date finalPaymentDate, Timestamp purchaseOrderInitialOpenTimestamp, Timestamp purchaseOrderLastTransmitTimestamp, Date purchaseOrderQuoteDueDate, String purchaseOrderQuoteTypeCode, String purchaseOrderQuoteVendorNoteText, boolean purchaseOrderConfirmedIndicator, String purchaseOrderCommodityDescription, Integer purchaseOrderPreviousIdentifier, Integer alternateVendorHeaderGeneratedIdentifier, Integer alternateVendorDetailAssignedIdentifier, Integer newQuoteVendorHeaderGeneratedIdentifier, Integer newQuoteVendorDetailAssignedIdentifier, String alternateVendorName, boolean purchaseOrderCurrentIndicator, boolean pendingActionIndicator, Timestamp purchaseOrderFirstTransmissionTimestamp,
387 PurchasingAccountsPayableDocumentFixture purapDocumentFixture, PurchasingDocumentFixture purchasingDocumentFixture, PurchaseOrderItemFixture[] purchaseOrderItemFixtures) {
388 this.purchaseOrderCreateDate = purchaseOrderCreateDate;
389 this.requisitionIdentifier = requisitionIdentifier;
390 this.purchaseOrderVendorChoiceCode = purchaseOrderVendorChoiceCode;
391 this.recurringPaymentFrequencyCode = recurringPaymentFrequencyCode;
392 this.recurringPaymentAmount = recurringPaymentAmount;
393 this.recurringPaymentDate = recurringPaymentDate;
394 this.initialPaymentAmount = initialPaymentAmount;
395 this.initialPaymentDate = initialPaymentDate;
396 this.finalPaymentAmount = finalPaymentAmount;
397 this.finalPaymentDate = finalPaymentDate;
398 this.purchaseOrderInitialOpenTimestamp = purchaseOrderInitialOpenTimestamp;
399 this.purchaseOrderLastTransmitTimestamp = purchaseOrderLastTransmitTimestamp;
400 this.purchaseOrderQuoteDueDate = purchaseOrderQuoteDueDate;
401 this.purchaseOrderQuoteTypeCode = purchaseOrderQuoteTypeCode;
402 this.purchaseOrderQuoteVendorNoteText = purchaseOrderQuoteVendorNoteText;
403 this.purchaseOrderConfirmedIndicator = purchaseOrderConfirmedIndicator;
404 this.purchaseOrderCommodityDescription = purchaseOrderCommodityDescription;
405 this.purchaseOrderPreviousIdentifier = purchaseOrderPreviousIdentifier;
406 this.alternateVendorHeaderGeneratedIdentifier = alternateVendorHeaderGeneratedIdentifier;
407 this.alternateVendorDetailAssignedIdentifier = alternateVendorDetailAssignedIdentifier;
408 this.newQuoteVendorHeaderGeneratedIdentifier = newQuoteVendorHeaderGeneratedIdentifier;
409 this.newQuoteVendorDetailAssignedIdentifier = newQuoteVendorDetailAssignedIdentifier;
410 this.alternateVendorName = alternateVendorName;
411 this.purchaseOrderCurrentIndicator = purchaseOrderCurrentIndicator;
412 this.pendingActionIndicator = pendingActionIndicator;
413 this.purchaseOrderFirstTransmissionTimestamp = purchaseOrderFirstTransmissionTimestamp;
414 this.purapDocumentFixture = purapDocumentFixture;
415 this.purchasingDocumentFixture = purchasingDocumentFixture;
416 this.purchaseOrderItemFixtures = purchaseOrderItemFixtures;
417 }
418
419 /**
420 * Creates a Purchase Order Document using this Fixture.
421 *
422 * @return the created Purchase Order Document.
423 */
424 public PurchaseOrderDocument createPurchaseOrderDocument() {
425 PurchaseOrderDocument doc = purchasingDocumentFixture.createPurchaseOrderDocument(purapDocumentFixture);
426 doc.setAccountDistributionMethod(PurapConstants.AccountDistributionMethodCodes.PROPORTIONAL_CODE); //account distribution method is sequential
427 doc.setPurchaseOrderCreateTimestamp(this.purchaseOrderCreateDate);
428 doc.setRequisitionIdentifier(this.requisitionIdentifier);
429 doc.setPurchaseOrderVendorChoiceCode(this.purchaseOrderVendorChoiceCode);
430 doc.setRecurringPaymentFrequencyCode(this.recurringPaymentFrequencyCode);
431 doc.setRecurringPaymentAmount(this.recurringPaymentAmount);
432 doc.setRecurringPaymentDate(this.recurringPaymentDate);
433 doc.setInitialPaymentAmount(this.initialPaymentAmount);
434 doc.setInitialPaymentDate(this.initialPaymentDate);
435 doc.setFinalPaymentAmount(this.finalPaymentAmount);
436 doc.setFinalPaymentDate(this.finalPaymentDate);
437 doc.setPurchaseOrderInitialOpenTimestamp(this.purchaseOrderInitialOpenTimestamp);
438 doc.setPurchaseOrderLastTransmitTimestamp(this.purchaseOrderLastTransmitTimestamp);
439 doc.setPurchaseOrderQuoteDueDate(this.purchaseOrderQuoteDueDate);
440 doc.setPurchaseOrderQuoteTypeCode(this.purchaseOrderQuoteTypeCode);
441 doc.setPurchaseOrderQuoteVendorNoteText(this.purchaseOrderQuoteVendorNoteText);
442 doc.setPurchaseOrderConfirmedIndicator(this.purchaseOrderConfirmedIndicator);
443 doc.setPurchaseOrderCommodityDescription(this.purchaseOrderCommodityDescription);
444 doc.setPurchaseOrderPreviousIdentifier(this.purchaseOrderPreviousIdentifier);
445 doc.setAlternateVendorHeaderGeneratedIdentifier(this.alternateVendorHeaderGeneratedIdentifier);
446 doc.setAlternateVendorDetailAssignedIdentifier(this.alternateVendorDetailAssignedIdentifier);
447 doc.setNewQuoteVendorHeaderGeneratedIdentifier(this.newQuoteVendorHeaderGeneratedIdentifier);
448 doc.setNewQuoteVendorDetailAssignedIdentifier(this.newQuoteVendorDetailAssignedIdentifier);
449 doc.setAlternateVendorName(this.alternateVendorName);
450 doc.setPurchaseOrderCurrentIndicator(this.purchaseOrderCurrentIndicator);
451 doc.setPendingActionIndicator(this.pendingActionIndicator);
452 doc.setPurchaseOrderFirstTransmissionTimestamp(this.purchaseOrderFirstTransmissionTimestamp);
453
454 for (PurchaseOrderItemFixture purchaseOrderItemFixture : purchaseOrderItemFixtures) {
455 purchaseOrderItemFixture.addTo(doc);
456 }
457
458 //If vendor header and vendor detail id are not null, fetch the vendor from
459 //vendor service and set it to this PO.
460 Integer vendorHeaderGeneratedId = doc.getVendorHeaderGeneratedIdentifier();
461 Integer vendorDetailAssignedId = doc.getVendorDetailAssignedIdentifier();
462
463 if (vendorHeaderGeneratedId != null && vendorDetailAssignedId != null) {
464 VendorDetail vendorDetail = SpringContext.getBean(VendorService.class).getVendorDetail(vendorHeaderGeneratedId, vendorDetailAssignedId);
465 doc.setVendorDetail(vendorDetail);
466 }
467
468 return doc;
469 }
470 }